@remoteoss/remote-flows 0.11.0 → 0.13.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 (273) hide show
  1. package/README.md +3 -3
  2. package/dist/{chunk-GAOBYAJE.js → chunk-3BREUYLG.js} +2 -2
  3. package/dist/{chunk-GAOBYAJE.js.map → chunk-3BREUYLG.js.map} +1 -1
  4. package/dist/{chunk-LT4ALDRM.js → chunk-4OKR4SU7.js} +2 -2
  5. package/dist/chunk-4OKR4SU7.js.map +1 -0
  6. package/dist/{chunk-T3L72MV6.js → chunk-4RULC3AZ.js} +1 -1
  7. package/dist/chunk-4RULC3AZ.js.map +1 -0
  8. package/dist/chunk-4XFRZVAL.js +2 -0
  9. package/dist/{chunk-SZOOX2KY.js.map → chunk-4XFRZVAL.js.map} +1 -1
  10. package/dist/{chunk-7TIIT23F.js → chunk-56JXUCOX.js} +2 -2
  11. package/dist/chunk-56JXUCOX.js.map +1 -0
  12. package/dist/chunk-5EDFVFNU.js +2 -0
  13. package/dist/chunk-5EDFVFNU.js.map +1 -0
  14. package/dist/chunk-5JT5MWOK.js +2 -0
  15. package/dist/chunk-5JT5MWOK.js.map +1 -0
  16. package/dist/{chunk-7TOZZQQJ.js → chunk-5KHLOGTR.js} +1 -1
  17. package/dist/{chunk-7TOZZQQJ.js.map → chunk-5KHLOGTR.js.map} +1 -1
  18. package/dist/{chunk-EE54SK65.js → chunk-63HVO7J5.js} +2 -2
  19. package/dist/chunk-6YKL7EOK.js +2 -0
  20. package/dist/chunk-6YKL7EOK.js.map +1 -0
  21. package/dist/{chunk-RUVKAPO5.js → chunk-6YN2XQWR.js} +2 -2
  22. package/dist/{chunk-LIGRV2J5.js → chunk-7JQPHRUK.js} +2 -2
  23. package/dist/{chunk-GBD3OCAW.js → chunk-7P5B6XHM.js} +2 -2
  24. package/dist/{chunk-CSK44J23.js → chunk-7VUILYZ3.js} +1 -1
  25. package/dist/{chunk-CSK44J23.js.map → chunk-7VUILYZ3.js.map} +1 -1
  26. package/dist/chunk-A3OEOVEH.js +2 -0
  27. package/dist/chunk-A3OEOVEH.js.map +1 -0
  28. package/dist/{chunk-SQICIS7B.js → chunk-A4KEKMEQ.js} +2 -2
  29. package/dist/{chunk-SQICIS7B.js.map → chunk-A4KEKMEQ.js.map} +1 -1
  30. package/dist/{chunk-77AF2QOD.js → chunk-ANXYPRBG.js} +1 -1
  31. package/dist/chunk-ANXYPRBG.js.map +1 -0
  32. package/dist/{chunk-BY5S6EQJ.js → chunk-ARKAW4ZP.js} +2 -2
  33. package/dist/{chunk-EW24LQRE.js → chunk-BI6U55BD.js} +1 -1
  34. package/dist/chunk-BI6U55BD.js.map +1 -0
  35. package/dist/{chunk-GCVZ4AY2.js → chunk-CRXPRR3R.js} +1 -1
  36. package/dist/chunk-CRXPRR3R.js.map +1 -0
  37. package/dist/{chunk-ZSBWDLBS.js → chunk-DCRLPAJL.js} +2 -2
  38. package/dist/{chunk-VD65AUOI.js → chunk-DL5PZWF7.js} +2 -2
  39. package/dist/chunk-DL5PZWF7.js.map +1 -0
  40. package/dist/{chunk-FBYLX5NA.js → chunk-DXABU6DZ.js} +2 -2
  41. package/dist/{chunk-BDZEPXIS.js → chunk-E5YN6OT3.js} +1 -1
  42. package/dist/chunk-E5YN6OT3.js.map +1 -0
  43. package/dist/{chunk-TJK6MTGG.js → chunk-F3BSJIHU.js} +2 -2
  44. package/dist/{chunk-ZHL2SULA.js → chunk-FH3NC6AK.js} +2 -2
  45. package/dist/chunk-FH3NC6AK.js.map +1 -0
  46. package/dist/chunk-GKT5UHG4.js +2 -0
  47. package/dist/chunk-GKT5UHG4.js.map +1 -0
  48. package/dist/{chunk-G7WJUXZU.js → chunk-GP237GUO.js} +1 -1
  49. package/dist/{chunk-G7WJUXZU.js.map → chunk-GP237GUO.js.map} +1 -1
  50. package/dist/{chunk-N7PSO5ZD.js → chunk-HEKQK6TK.js} +2 -2
  51. package/dist/{chunk-N7PSO5ZD.js.map → chunk-HEKQK6TK.js.map} +1 -1
  52. package/dist/{chunk-QI6LLU2N.js → chunk-HH6GIAMX.js} +2 -2
  53. package/dist/chunk-HH6GIAMX.js.map +1 -0
  54. package/dist/chunk-HN5HLFTB.js +2 -0
  55. package/dist/chunk-HN5HLFTB.js.map +1 -0
  56. package/dist/chunk-HSW5HMHH.js +2 -0
  57. package/dist/{chunk-R7L6CI5J.js → chunk-ITSQE6EW.js} +2 -2
  58. package/dist/{chunk-3Z5ZZUO4.js → chunk-J4GIUQ4E.js} +2 -2
  59. package/dist/chunk-J4GIUQ4E.js.map +1 -0
  60. package/dist/{chunk-AJVD3O4D.js → chunk-JI5BE2MZ.js} +2 -2
  61. package/dist/{chunk-AJVD3O4D.js.map → chunk-JI5BE2MZ.js.map} +1 -1
  62. package/dist/{chunk-S7ZMHO5I.js → chunk-JJHGVDPO.js} +2 -2
  63. package/dist/{chunk-XI3AQ3RM.js → chunk-KHNAQRGE.js} +1 -1
  64. package/dist/chunk-KHNAQRGE.js.map +1 -0
  65. package/dist/chunk-LK4XMOCE.js +2 -0
  66. package/dist/chunk-LK4XMOCE.js.map +1 -0
  67. package/dist/chunk-LUG32IOD.js +2 -0
  68. package/dist/chunk-LUG32IOD.js.map +1 -0
  69. package/dist/{chunk-RMVG6YBI.js → chunk-MYB6Y5FC.js} +2 -2
  70. package/dist/{chunk-KHVEYIMF.js → chunk-N7QHEESE.js} +2 -2
  71. package/dist/{chunk-QVN32YBL.js → chunk-NH4EITYM.js} +2 -2
  72. package/dist/{chunk-H2SFR2GL.js → chunk-NQCSU6FR.js} +2 -2
  73. package/dist/{chunk-WYXN7WW6.js → chunk-NVMZDPMF.js} +2 -2
  74. package/dist/chunk-NVMZDPMF.js.map +1 -0
  75. package/dist/{chunk-TPSZDGQJ.js → chunk-NVQBJCNL.js} +2 -2
  76. package/dist/{chunk-TPSZDGQJ.js.map → chunk-NVQBJCNL.js.map} +1 -1
  77. package/dist/{chunk-KG72IMCX.js → chunk-OPCY3UYH.js} +2 -2
  78. package/dist/{chunk-GK3OO5SX.js → chunk-OZ63OC3N.js} +2 -2
  79. package/dist/chunk-OZ63OC3N.js.map +1 -0
  80. package/dist/{chunk-3CUVTXRN.js → chunk-QDYQEQ3C.js} +2 -2
  81. package/dist/chunk-RJRLHA3V.js +2 -0
  82. package/dist/chunk-RJRLHA3V.js.map +1 -0
  83. package/dist/{chunk-YRLBMLSA.js → chunk-RXVVLN7R.js} +2 -2
  84. package/dist/{chunk-CHSULXMN.js → chunk-TXSJL3HC.js} +1 -1
  85. package/dist/chunk-TXSJL3HC.js.map +1 -0
  86. package/dist/{chunk-Y4VNFI7K.js → chunk-U4YEXSAO.js} +2 -2
  87. package/dist/chunk-U4YEXSAO.js.map +1 -0
  88. package/dist/{chunk-5I6VWJSC.js → chunk-UHS3QRA3.js} +1 -1
  89. package/dist/chunk-UHS3QRA3.js.map +1 -0
  90. package/dist/{chunk-GJQ33XQ4.js → chunk-UPE5ZMB5.js} +2 -2
  91. package/dist/chunk-UPE5ZMB5.js.map +1 -0
  92. package/dist/{chunk-2A5R3YN2.js → chunk-VAIBLWOY.js} +1 -1
  93. package/dist/chunk-VAIBLWOY.js.map +1 -0
  94. package/dist/{chunk-R2SDR47E.js → chunk-XCZYKOZU.js} +2 -2
  95. package/dist/{chunk-4OEBYZLZ.js → chunk-XGEKV3FC.js} +2 -2
  96. package/dist/{chunk-MDSGLUUB.js → chunk-XJVYASHX.js} +1 -1
  97. package/dist/chunk-XJVYASHX.js.map +1 -0
  98. package/dist/chunk-XZRGLKXU.js +2 -0
  99. package/dist/{chunk-NC3VBBHC.js.map → chunk-XZRGLKXU.js.map} +1 -1
  100. package/dist/{chunk-5GUK7MEN.js → chunk-ZCYSBG7R.js} +2 -2
  101. package/dist/{chunk-ILMVHOL2.js → chunk-ZE3YT3Q6.js} +1 -1
  102. package/dist/chunk-ZE3YT3Q6.js.map +1 -0
  103. package/dist/chunk-ZTDKPUB5.js +2 -0
  104. package/dist/chunk-ZTDKPUB5.js.map +1 -0
  105. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  106. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  107. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  108. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +1 -1
  109. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  110. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  111. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  112. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  113. package/dist/flows/ContractAmendment/context.d.ts +2 -2
  114. package/dist/flows/ContractAmendment/hooks.d.ts +1 -1
  115. package/dist/flows/ContractAmendment/index.d.ts +1 -1
  116. package/dist/flows/ContractAmendment/index.js +1 -1
  117. package/dist/flows/ContractAmendment/utils.d.ts +1 -1
  118. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +1 -1
  119. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -2
  120. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  121. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +2 -1
  122. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  123. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  124. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  125. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +1 -1
  126. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  127. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
  128. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
  129. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js +1 -1
  130. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
  131. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.js +1 -1
  132. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +1 -1
  133. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
  134. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +1 -1
  135. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +1 -1
  136. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +1 -1
  137. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +10 -2
  138. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  139. package/dist/flows/CostCalculator/api.d.ts +2 -1
  140. package/dist/flows/CostCalculator/components/SalaryField.d.ts +3 -1
  141. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  142. package/dist/flows/CostCalculator/constants.d.ts +16 -0
  143. package/dist/flows/CostCalculator/constants.js +2 -0
  144. package/dist/flows/CostCalculator/constants.js.map +1 -0
  145. package/dist/flows/CostCalculator/context.d.ts +7 -2
  146. package/dist/flows/CostCalculator/hooks.d.ts +45 -2
  147. package/dist/flows/CostCalculator/hooks.js +1 -1
  148. package/dist/flows/CostCalculator/index.d.ts +2 -1
  149. package/dist/flows/CostCalculator/index.js +1 -1
  150. package/dist/flows/CostCalculator/jsonSchema.d.ts +26 -2
  151. package/dist/flows/CostCalculator/jsonSchema.js +1 -1
  152. package/dist/flows/CostCalculator/types.d.ts +21 -4
  153. package/dist/flows/CostCalculator/utils.d.ts +3 -2
  154. package/dist/flows/CostCalculator/utils.js +1 -1
  155. package/dist/flows/Onboarding/OnboardingFlow.d.ts +1 -1
  156. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  157. package/dist/flows/Onboarding/api.d.ts +1 -1
  158. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  159. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +1 -1
  160. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  161. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +1 -1
  162. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  163. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +1 -1
  164. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  165. package/dist/flows/Onboarding/components/EquityPriceDetails.js +1 -1
  166. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  167. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +1 -1
  168. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  169. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +1 -1
  170. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  171. package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
  172. package/dist/flows/Onboarding/components/ReviewStep.d.ts +1 -1
  173. package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
  174. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +1 -1
  175. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  176. package/dist/flows/Onboarding/context.d.ts +2 -2
  177. package/dist/flows/Onboarding/hooks.d.ts +1 -1
  178. package/dist/flows/Onboarding/hooks.js +1 -1
  179. package/dist/flows/Onboarding/index.d.ts +1 -1
  180. package/dist/flows/Onboarding/index.js +1 -1
  181. package/dist/flows/Onboarding/types.d.ts +1 -1
  182. package/dist/flows/Onboarding/utils.d.ts +1 -1
  183. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +1 -1
  184. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  185. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +1 -1
  186. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  187. package/dist/flows/Termination/PaidTimeOffForm.d.ts +1 -1
  188. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  189. package/dist/flows/Termination/TerminationBack.js +1 -1
  190. package/dist/flows/Termination/TerminationDetailsForm.d.ts +1 -1
  191. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  192. package/dist/flows/Termination/TerminationFlow.d.ts +1 -1
  193. package/dist/flows/Termination/TerminationFlow.js +1 -1
  194. package/dist/flows/Termination/TerminationForm.d.ts +1 -1
  195. package/dist/flows/Termination/TerminationForm.js +1 -1
  196. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  197. package/dist/flows/Termination/TimeOff.d.ts +1 -1
  198. package/dist/flows/Termination/context.d.ts +2 -2
  199. package/dist/flows/Termination/hooks.d.ts +1 -1
  200. package/dist/flows/Termination/hooks.js +1 -1
  201. package/dist/flows/Termination/index.d.ts +1 -1
  202. package/dist/flows/Termination/index.js +1 -1
  203. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  204. package/dist/flows/Termination/types.d.ts +1 -1
  205. package/dist/index.d.ts +4 -3
  206. package/dist/index.js +1 -1
  207. package/dist/index.js.map +1 -1
  208. package/dist/internals.js +1 -1
  209. package/dist/{types.gen-CVPKMCVh.d.ts → types.gen-_c0f1E7h.d.ts} +8 -0
  210. package/package.json +1 -1
  211. package/dist/chunk-2A5R3YN2.js.map +0 -1
  212. package/dist/chunk-3Z5ZZUO4.js.map +0 -1
  213. package/dist/chunk-5I6VWJSC.js.map +0 -1
  214. package/dist/chunk-5KKDB7Q7.js +0 -2
  215. package/dist/chunk-5KKDB7Q7.js.map +0 -1
  216. package/dist/chunk-77AF2QOD.js.map +0 -1
  217. package/dist/chunk-7TIIT23F.js.map +0 -1
  218. package/dist/chunk-AIB34WOA.js +0 -2
  219. package/dist/chunk-AIB34WOA.js.map +0 -1
  220. package/dist/chunk-ANCX2TZH.js +0 -2
  221. package/dist/chunk-ANCX2TZH.js.map +0 -1
  222. package/dist/chunk-AVA4MEFP.js +0 -2
  223. package/dist/chunk-AVA4MEFP.js.map +0 -1
  224. package/dist/chunk-BDZEPXIS.js.map +0 -1
  225. package/dist/chunk-CHSULXMN.js.map +0 -1
  226. package/dist/chunk-D25W2VVQ.js +0 -2
  227. package/dist/chunk-D25W2VVQ.js.map +0 -1
  228. package/dist/chunk-DR7VGNO2.js +0 -2
  229. package/dist/chunk-DY5CSCPI.js +0 -2
  230. package/dist/chunk-DY5CSCPI.js.map +0 -1
  231. package/dist/chunk-EW24LQRE.js.map +0 -1
  232. package/dist/chunk-F6U6WDMP.js +0 -2
  233. package/dist/chunk-F6U6WDMP.js.map +0 -1
  234. package/dist/chunk-GCVZ4AY2.js.map +0 -1
  235. package/dist/chunk-GJQ33XQ4.js.map +0 -1
  236. package/dist/chunk-GK3OO5SX.js.map +0 -1
  237. package/dist/chunk-GMA7VTFX.js +0 -2
  238. package/dist/chunk-GMA7VTFX.js.map +0 -1
  239. package/dist/chunk-ILMVHOL2.js.map +0 -1
  240. package/dist/chunk-LT4ALDRM.js.map +0 -1
  241. package/dist/chunk-MDSGLUUB.js.map +0 -1
  242. package/dist/chunk-NC3VBBHC.js +0 -2
  243. package/dist/chunk-NVJYAX22.js +0 -2
  244. package/dist/chunk-NVJYAX22.js.map +0 -1
  245. package/dist/chunk-QI6LLU2N.js.map +0 -1
  246. package/dist/chunk-SZOOX2KY.js +0 -2
  247. package/dist/chunk-T3L72MV6.js.map +0 -1
  248. package/dist/chunk-VD65AUOI.js.map +0 -1
  249. package/dist/chunk-WYXN7WW6.js.map +0 -1
  250. package/dist/chunk-XI3AQ3RM.js.map +0 -1
  251. package/dist/chunk-Y4VNFI7K.js.map +0 -1
  252. package/dist/chunk-ZHL2SULA.js.map +0 -1
  253. /package/dist/{chunk-EE54SK65.js.map → chunk-63HVO7J5.js.map} +0 -0
  254. /package/dist/{chunk-RUVKAPO5.js.map → chunk-6YN2XQWR.js.map} +0 -0
  255. /package/dist/{chunk-LIGRV2J5.js.map → chunk-7JQPHRUK.js.map} +0 -0
  256. /package/dist/{chunk-GBD3OCAW.js.map → chunk-7P5B6XHM.js.map} +0 -0
  257. /package/dist/{chunk-BY5S6EQJ.js.map → chunk-ARKAW4ZP.js.map} +0 -0
  258. /package/dist/{chunk-ZSBWDLBS.js.map → chunk-DCRLPAJL.js.map} +0 -0
  259. /package/dist/{chunk-FBYLX5NA.js.map → chunk-DXABU6DZ.js.map} +0 -0
  260. /package/dist/{chunk-TJK6MTGG.js.map → chunk-F3BSJIHU.js.map} +0 -0
  261. /package/dist/{chunk-DR7VGNO2.js.map → chunk-HSW5HMHH.js.map} +0 -0
  262. /package/dist/{chunk-R7L6CI5J.js.map → chunk-ITSQE6EW.js.map} +0 -0
  263. /package/dist/{chunk-S7ZMHO5I.js.map → chunk-JJHGVDPO.js.map} +0 -0
  264. /package/dist/{chunk-RMVG6YBI.js.map → chunk-MYB6Y5FC.js.map} +0 -0
  265. /package/dist/{chunk-KHVEYIMF.js.map → chunk-N7QHEESE.js.map} +0 -0
  266. /package/dist/{chunk-QVN32YBL.js.map → chunk-NH4EITYM.js.map} +0 -0
  267. /package/dist/{chunk-H2SFR2GL.js.map → chunk-NQCSU6FR.js.map} +0 -0
  268. /package/dist/{chunk-KG72IMCX.js.map → chunk-OPCY3UYH.js.map} +0 -0
  269. /package/dist/{chunk-3CUVTXRN.js.map → chunk-QDYQEQ3C.js.map} +0 -0
  270. /package/dist/{chunk-YRLBMLSA.js.map → chunk-RXVVLN7R.js.map} +0 -0
  271. /package/dist/{chunk-R2SDR47E.js.map → chunk-XCZYKOZU.js.map} +0 -0
  272. /package/dist/{chunk-4OEBYZLZ.js.map → chunk-XGEKV3FC.js.map} +0 -0
  273. /package/dist/{chunk-5GUK7MEN.js.map → chunk-ZCYSBG7R.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/shared/actions-dropdown/ActionsDropdown.tsx","../src/flows/CostCalculator/EstimationResults/EstimationResults.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport { cn } from '@/src/lib/utils';\nimport { MoreHorizontal } from 'lucide-react';\nimport { useState, type ReactNode } from 'react';\n\nexport interface DropdownAction {\n label: string;\n icon?: ReactNode;\n onClick: () => void;\n separator?: boolean;\n disabled?: boolean;\n}\n\ninterface ActionsDropdownProps {\n actions?: DropdownAction[];\n className?: string;\n}\n\nexport function ActionsDropdown({\n actions = [],\n className,\n}: ActionsDropdownProps) {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <div className={cn('relative', className)}>\n <Button\n variant=\"ghost\"\n className=\"h-8 w-8 p-0\"\n onClick={() => setIsOpen(!isOpen)}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n </Button>\n\n {isOpen && (\n <>\n <div\n className=\"fixed inset-0 z-40\"\n onClick={() => setIsOpen(false)}\n />\n <div className=\"absolute right-0 top-1/2 mt-1 bg-white border border-gray-200 rounded-md shadow-lg z-50 min-w-[120px]\">\n {actions.map((action, index) => (\n <button\n key={index}\n className={cn(\n 'w-full text-left px-2 py-1.5 text-sm hover:bg-gray-100',\n action.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onClick={() => {\n action.onClick();\n setIsOpen(false);\n }}\n disabled={action.disabled}\n >\n {action.label}\n </button>\n ))}\n </div>\n </>\n )}\n </div>\n );\n}\n","import {\n CostCalculatorEmployment,\n MinimalCountry,\n MinimalRegion,\n} from '@/src/client';\nimport { ActionsDropdown } from '@/src/components/shared/actions-dropdown/ActionsDropdown';\nimport { Card } from '@/src/components/ui/card';\nimport { ChevronDown, Info } from 'lucide-react';\nimport Flag from 'react-flagpack';\nimport { useState } from 'react';\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from '@/src/components/ui/accordion';\nimport { cn, formatCurrency } from '@/src/lib/utils';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\n\nconst EstimationResultsHeader = ({\n title,\n country,\n region,\n onDelete,\n onExportPdf,\n}: {\n title: string;\n country: MinimalCountry;\n region?: MinimalRegion;\n onDelete: () => void;\n onExportPdf: () => void;\n}) => {\n return (\n <div className=\"RemoteFlows__EstimationResults__Header flex justify-between\">\n <div className=\"flex flex-row items-center gap-6\">\n <div className=\"flex h-12 w-12 items-center justify-center rounded-lg bg-[#F4F4F5]\">\n <Flag code={country.alpha_2_code} />\n </div>\n <div className=\"space-y-1\">\n <h2 className=\"text-lg font-medium leading-none text-[#181818]\">\n {title}\n </h2>\n <p className=\"text-xs text-[#71717A]\">\n {country.name} {region ? ` (${region.name})` : ''}\n </p>\n </div>\n </div>\n <ActionsDropdown\n className=\"RemoteFlows__EstimationResults__ActionsDropdown\"\n actions={[\n {\n label: 'Edit',\n onClick: () => {},\n disabled: true,\n },\n {\n label: 'Export',\n onClick: onExportPdf,\n },\n {\n label: 'Delete',\n onClick: onDelete,\n },\n ]}\n />\n </div>\n );\n};\n\ninterface OnboardingTimelineStep {\n title: string;\n description: string;\n id: string;\n}\n\ninterface OnboardingTimelineData {\n steps: OnboardingTimelineStep[];\n helpText: string;\n zendeskArticleId?: number;\n}\n\nconst getOnboardingTimelineData = (): OnboardingTimelineData => {\n return {\n steps: [\n {\n id: 'add-employment-details',\n title: 'Add employment details',\n description: 'You add employee employments details.',\n },\n {\n id: 'invite-employee',\n title: 'Invite employee',\n description:\n 'Hire receives an email invitation from Remote to start the self-enrollment process.',\n },\n {\n id: 'verify-information',\n title: 'Verify information',\n description:\n 'Remote prepares the Employment Agreement and verifies all the information.',\n },\n {\n id: 'sign-contract',\n title: 'Sign contract',\n description:\n 'All parties sign the Employment Agreement and are ready to start. 🎉',\n },\n ],\n helpText:\n 'For customers who accept our Terms of Service (ToS), the employee onboarding timeline starts once the employee has been invited to the platform and completed self enrolment.',\n zendeskArticleId: zendeskArticles.employeeOnboardingTimeline,\n };\n};\n\nfunction OnboardingTimeline({\n minimumOnboardingDays,\n data,\n className,\n}: {\n minimumOnboardingDays: number | null;\n data: OnboardingTimelineData;\n className?: string;\n}) {\n return (\n <Accordion\n type=\"single\"\n collapsible\n className={cn(\n 'RemoteFlows__EstimationResults__OnboardingTimeline w-full',\n className,\n )}\n >\n <AccordionItem value=\"timeline\" className=\"border-border\">\n <AccordionTrigger className=\"hover:no-underline px-0 py-4\">\n <div className=\"flex items-center justify-between w-full\">\n <span className=\"text-base font-medium text-[#0F172A]\">\n Onboarding timeline\n </span>\n <span className=\"text-base text-muted-foreground mr-4\">\n {minimumOnboardingDays} days\n </span>\n </div>\n </AccordionTrigger>\n <AccordionContent className=\"px-0 pb-4\">\n <ul className=\"list-disc list-inside space-y-2\">\n {data.steps.map((step) => (\n <li key={step.id}>\n <strong className=\"font-medium text-[#09090B]\">\n {step.title}\n </strong>{' '}\n - {step.description}\n </li>\n ))}\n </ul>\n <p className=\"text-xs text-muted-foreground mt-4\">\n {data.helpText}\n {data.zendeskArticleId && (\n <ZendeskTriggerButton zendeskId={data.zendeskArticleId}>\n Learn more\n </ZendeskTriggerButton>\n )}\n </p>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n}\n\nfunction HiringSection({\n className,\n countryBenefitsUrl,\n countryGuideUrl,\n country,\n}: {\n className?: string;\n countryBenefitsUrl: string;\n countryGuideUrl: string;\n country: MinimalCountry;\n}) {\n return (\n <Accordion\n type=\"single\"\n collapsible\n className={cn(\n 'RemoteFlows__EstimationResults__HiringSection w-full',\n className,\n )}\n >\n <AccordionItem value=\"timeline\" className=\"border-border\">\n <AccordionTrigger className=\"hover:no-underline px-0 py-4\">\n <div className=\"flex items-center justify-between w-full\">\n <span className=\"text-base font-medium text-[#0F172A]\">\n Hiring in {country.name}\n </span>\n </div>\n </AccordionTrigger>\n <AccordionContent>\n <div className=\"flex flex-col gap-1\">\n <a\n href={countryGuideUrl}\n target=\"_blank\"\n className=\"RemoteFlows__Link\"\n >\n Explore our complete guide ↗\n </a>\n <a\n href={countryBenefitsUrl}\n target=\"_blank\"\n className=\"RemoteFlows__Link\"\n >\n Explore our available benefits ↗\n </a>\n </div>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n}\n\nfunction EstimationHeaders({\n isMultipleCurrency,\n className,\n}: {\n isMultipleCurrency: boolean;\n className?: string;\n}) {\n return (\n <div\n className={cn(\n 'RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center',\n className,\n )}\n >\n <span aria-hidden />\n {isMultipleCurrency ? (\n <>\n <span className=\"RemoteFlows__EstimationResults__Headers__Label\">\n Employee currency\n </span>\n <span className=\"RemoteFlows__EstimationResults__Headers__Label\">\n Employer currency\n </span>\n </>\n ) : (\n <>\n <span></span>\n <span className=\"RemoteFlows__EstimationResults__Headers__Label\">\n Amount\n </span>\n </>\n )}\n </div>\n );\n}\n\nfunction EstimationRow({\n label,\n amounts,\n className,\n isHeader = false,\n isCollapsible = false,\n children,\n}: {\n label: string | React.ReactNode;\n amounts: string | string[];\n className?: string;\n isHeader?: boolean;\n isCollapsible?: boolean;\n children?: React.ReactNode;\n}) {\n const [isOpen, setIsOpen] = useState(true);\n\n return (\n <div className={cn('RemoteFlows__EstimationResults__Row', className)}>\n <div className=\"grid grid-cols-3 items-center\">\n <div className=\"flex items-center gap-2\">\n <span\n className={cn(\n 'min-w-[140px]',\n isHeader ? 'font-medium text-[#09090B]' : '',\n )}\n >\n {label}\n </span>\n {isCollapsible && (\n <button\n onClick={() => setIsOpen(!isOpen)}\n className=\"p-1 hover:bg-gray-100 rounded\"\n >\n <ChevronDown\n className={`h-4 w-4 text-muted-foreground transition-transform ${\n isOpen ? 'rotate-180' : ''\n }`}\n />\n </button>\n )}\n </div>\n\n {Array.isArray(amounts) ? (\n amounts.map((amount, index) => (\n <span\n key={index}\n className={cn(\n 'text-right',\n isHeader ? 'font-medium text-[#09090B]' : '',\n )}\n >\n {amount}\n </span>\n ))\n ) : (\n <>\n <span></span>\n <span\n className={cn(\n 'text-right',\n isHeader ? 'font-medium text-[#09090B]' : '',\n )}\n >\n {amounts}\n </span>\n </>\n )}\n </div>\n\n {/* Collapsible content */}\n {isCollapsible && isOpen && children && (\n <div className=\"mt-4\">{children}</div>\n )}\n </div>\n );\n}\n\ninterface BreakdownItem {\n label: string;\n tooltip?: string;\n regionalAmount?: string;\n employerAmount?: string;\n description?: string;\n zendeskId?: string;\n isCollapsible?: boolean;\n children?: BreakdownItem[];\n}\n\nfunction BreakdownListItem({\n item,\n isMultipleCurrency,\n level = 0,\n}: {\n item: BreakdownItem;\n isMultipleCurrency: boolean;\n level?: number;\n}) {\n const [isOpen, setIsOpen] = useState(false);\n const hasChildren = item.children && item.children.length > 0;\n const isNested = level > 0;\n\n return (\n <li className={cn('pb-3', isNested && 'pb-1')}>\n <div\n className={cn(\n isMultipleCurrency\n ? 'grid grid-cols-3 items-center justify-between'\n : 'grid grid-cols-2 items-center justify-between',\n )}\n >\n <div className={cn('flex items-center gap-2', isNested && 'pl-3')}>\n {!isNested && (\n <span\n className=\"w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0\"\n aria-hidden=\"true\"\n />\n )}\n\n <span\n className={cn(\n isNested ? 'text-xs text-[#71717A]' : 'text-sm text-[#09090B]', // Different colors\n )}\n >\n {item.label}\n </span>\n\n {item.tooltip && (\n <BasicTooltip\n content={\n <>\n <span>{item.tooltip}</span>{' '}\n {item.zendeskId && (\n <ZendeskTriggerButton zendeskId={Number(item.zendeskId)}>\n Learn more\n </ZendeskTriggerButton>\n )}\n </>\n }\n >\n <button className=\"p-1 hover:bg-gray-100 rounded\">\n <Info\n className={cn(\n 'text-muted-foreground',\n isNested ? 'h-3 w-3' : 'h-4 w-4',\n )}\n />\n </button>\n </BasicTooltip>\n )}\n\n {(item.isCollapsible || hasChildren) && (\n <button\n onClick={() => setIsOpen(!isOpen)}\n className=\"p-1 hover:bg-gray-100 rounded\"\n >\n <ChevronDown\n className={`h-3 w-3 text-muted-foreground transition-transform ${\n isOpen ? 'rotate-180' : ''\n }`}\n />\n </button>\n )}\n </div>\n\n {isMultipleCurrency ? (\n <>\n <span\n className={cn(\n 'text-sm text-right',\n isNested ? 'text-[#71717A]' : 'text-[#09090B]',\n )}\n >\n {item.regionalAmount || '—'}\n </span>\n <span\n className={cn(\n 'text-sm text-right',\n isNested ? 'text-[#71717A]' : 'text-[#09090B]',\n )}\n >\n {item.employerAmount || '—'}\n </span>\n </>\n ) : (\n <span\n className={cn(\n 'text-sm text-right',\n isNested ? 'text-[#71717A]' : 'text-[#09090B]',\n )}\n >\n {item.regionalAmount || '—'}\n </span>\n )}\n </div>\n\n {hasChildren && isOpen && (\n <div className=\"mt-1\">\n <BreakdownList\n items={item.children!}\n isMultipleCurrency={isMultipleCurrency}\n level={level + 1}\n />\n </div>\n )}\n </li>\n );\n}\n\ninterface BreakdownListProps {\n items: BreakdownItem[];\n isMultipleCurrency: boolean;\n className?: string;\n level?: number;\n}\n\nfunction BreakdownList({\n items,\n isMultipleCurrency,\n className,\n level,\n}: BreakdownListProps) {\n return (\n <ul className={cn('list-none', className)}>\n {items.map((item, index) => (\n <BreakdownListItem\n key={index}\n item={item}\n isMultipleCurrency={isMultipleCurrency}\n level={level}\n />\n ))}\n </ul>\n );\n}\n\ntype EstimationResultsComponents = {\n HiringSection?: React.ComponentType<{\n country: MinimalCountry;\n countryBenefitsUrl: string;\n countryGuideUrl: string;\n }>;\n OnboardingTimeline?: React.ComponentType<{\n minimumOnboardingDays: number | null;\n data: OnboardingTimelineData;\n }>;\n Header?: React.ComponentType<{\n title: string;\n region?: MinimalRegion;\n country: MinimalCountry;\n onDelete: () => void;\n onExportPdf: () => void;\n }>;\n Footer?: React.ComponentType;\n};\n\ntype EstimationResultsProps = {\n estimation: CostCalculatorEmployment;\n title: string;\n components?: EstimationResultsComponents;\n onDelete: () => void;\n onExportPdf: () => void;\n};\n\nexport const EstimationResults = ({\n estimation,\n title,\n components,\n onDelete,\n onExportPdf,\n}: EstimationResultsProps) => {\n const CustomHiringSection = components?.HiringSection || HiringSection;\n const CustomOnboardingTimeline =\n components?.OnboardingTimeline || OnboardingTimeline;\n const CustomHeader = components?.Header || EstimationResultsHeader;\n const CustomFooter = components?.Footer;\n\n const onboardingTimelineData = getOnboardingTimelineData();\n\n const isMultipleCurrency =\n estimation.employer_currency_costs.currency.code !==\n estimation.regional_currency_costs.currency.code;\n\n const hasRegion = estimation.region.code !== estimation.country.code;\n\n return (\n <Card className=\"RemoteFlows__EstimationResults__Card p-10\">\n <div className=\"RemoteFlows__Separator\">\n <CustomHeader\n title={title}\n region={hasRegion ? estimation.region : undefined}\n country={estimation.country}\n onDelete={onDelete}\n onExportPdf={onExportPdf}\n />\n </div>\n <div className=\"RemoteFlows__Separator\">\n <EstimationHeaders\n isMultipleCurrency={isMultipleCurrency}\n className=\"mb-3\"\n />\n <EstimationRow\n label=\"Monthly total cost\"\n amounts={\n isMultipleCurrency\n ? [\n formatCurrency(\n estimation.regional_currency_costs.monthly_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n formatCurrency(\n estimation.employer_currency_costs.monthly_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.monthly_total,\n estimation.regional_currency_costs.currency.symbol,\n )\n }\n isHeader\n isCollapsible\n >\n <BreakdownList\n items={[\n {\n label: 'Gross monthly salary',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.monthly_gross_salary,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_gross_salary,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: zendeskArticles.extraPayments.toString(),\n tooltip:\n 'This country respects extra payments on top of the gross salary.',\n },\n {\n label: 'Mandatory employer costs',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_contributions_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .monthly_contributions_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.monthly_contributions_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Core benefits',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.monthly_benefits_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_benefits_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.monthly_benefits_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n ]}\n isMultipleCurrency={isMultipleCurrency}\n />\n </EstimationRow>\n </div>\n <div className=\"RemoteFlows__Separator\">\n <EstimationRow\n label=\"Annual total cost\"\n amounts={\n isMultipleCurrency\n ? [\n formatCurrency(\n estimation.regional_currency_costs.annual_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n formatCurrency(\n estimation.employer_currency_costs.annual_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.annual_total,\n estimation.regional_currency_costs.currency.symbol,\n )\n }\n isHeader\n isCollapsible\n >\n <BreakdownList\n items={[\n {\n label: 'Annual gross salary',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_gross_salary,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_gross_salary,\n estimation.employer_currency_costs.currency.symbol,\n ),\n },\n {\n label: 'Mandatory employer costs',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_contributions_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_contributions_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.annual_contributions_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Core benefits',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_benefits_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_benefits_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.annual_benefits_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Extra statutory payments',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .extra_statutory_payments_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .extra_statutory_payments_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.extra_statutory_payments_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n ]}\n isMultipleCurrency={isMultipleCurrency}\n />\n </EstimationRow>\n </div>\n <div className=\"RemoteFlows__Separator\">\n <CustomOnboardingTimeline\n minimumOnboardingDays={estimation.minimum_onboarding_time}\n data={onboardingTimelineData}\n />\n </div>\n\n <CustomHiringSection\n countryBenefitsUrl={estimation.country_benefits_details_url as string}\n countryGuideUrl={estimation.country_guide_url as string}\n country={estimation.country}\n />\n\n {CustomFooter && <CustomFooter />}\n </Card>\n );\n};\n"],"mappings":"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","names":["MoreHorizontal","useState","Fragment","jsx","jsxs","ActionsDropdown","actions","className","isOpen","setIsOpen","useState","cn","Button","MoreHorizontal","action","index","__name","ChevronDown","Info","Flag","useState","Fragment","jsx","jsxs","EstimationResultsHeader","__name","title","country","region","onDelete","onExportPdf","Flag","ActionsDropdown","getOnboardingTimelineData","zendeskArticles","OnboardingTimeline","minimumOnboardingDays","data","className","Accordion","cn","AccordionItem","AccordionTrigger","AccordionContent","step","ZendeskTriggerButton","HiringSection","countryBenefitsUrl","countryGuideUrl","EstimationHeaders","isMultipleCurrency","EstimationRow","label","amounts","isHeader","isCollapsible","children","isOpen","setIsOpen","useState","ChevronDown","amount","index","BreakdownListItem","item","level","hasChildren","isNested","BasicTooltip","Info","BreakdownList","items","EstimationResults","estimation","components","CustomHiringSection","CustomOnboardingTimeline","CustomHeader","CustomFooter","onboardingTimelineData","hasRegion","Card","formatCurrency"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/basic-tooltip.tsx"],"sourcesContent":["export const BasicTooltip = ({\n children,\n content,\n}: {\n children: React.ReactNode;\n content: React.ReactNode;\n}) => {\n return (\n <div className=\"relative inline-block group\">\n {children}\n <div className=\"absolute bottom-full right-0 mb-2 px-3 py-2 bg-gray-900 text-white text-xs rounded-md opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50 w-64 whitespace-normal break-words\">\n {content}\n <div className=\"absolute top-full right-3 border-4 border-transparent border-t-gray-900\"></div>\n </div>\n </div>\n );\n};\n"],"mappings":"wCAUM,OAEE,OAAAA,EAFF,QAAAC,MAAA,oBAVC,IAAMC,EAAeC,EAAA,CAAC,CAC3B,SAAAC,EACA,QAAAC,CACF,IAKIJ,EAAC,OAAI,UAAU,8BACZ,UAAAG,EACDH,EAAC,OAAI,UAAU,4NACZ,UAAAI,EACDL,EAAC,OAAI,UAAU,0EAA0E,GAC3F,GACF,EAdwB","names":["jsx","jsxs","BasicTooltip","__name","children","content"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorGrossSalary.tsx"],"sourcesContent":["import { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { Button } from '@/src/components/ui/button';\nimport { Info } from 'lucide-react';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype CostCalculatorGrossSalaryProps = {\n grossSalary: number;\n currency: string;\n hasExtraStatutoryPayment?: boolean;\n};\n\nexport function CostCalculatorGrossSalary({\n grossSalary,\n currency,\n hasExtraStatutoryPayment = false,\n}: CostCalculatorGrossSalaryProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <div className=\"flex items-center gap-2\">\n <h3 className=\"font-medium text-primary-foreground\">Gross Salary</h3>\n {hasExtraStatutoryPayment && (\n <BasicTooltip\n content={\n <>\n <span>\n This country respects extra payments on top of the gross\n salary.\n </span>{' '}\n <ZendeskTriggerButton\n zendeskId={zendeskArticles.extraPayments}\n >\n Learn more\n </ZendeskTriggerButton>\n </>\n }\n >\n <Button variant=\"ghost\" size=\"icon\" className=\"h-4 w-4 p-0 mt-2\">\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </BasicTooltip>\n )}\n </div>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(grossSalary, currency)}\n </span>\n </div>\n <Separator />\n </div>\n );\n}\n"],"mappings":"mRAIA,OAAS,QAAAA,MAAY,eAmBX,OAIM,YAAAC,EAJN,OAAAC,EAIM,QAAAC,MAJN,oBATH,SAASC,EAA0B,CACxC,YAAAC,EACA,SAAAC,EACA,yBAAAC,EAA2B,EAC7B,EAAmC,CACjC,OACEJ,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAA,EAAC,OAAI,UAAU,0BACb,UAAAD,EAAC,MAAG,UAAU,sCAAsC,wBAAY,EAC/DK,GACCL,EAACM,EAAA,CACC,QACEL,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,4EAGN,EAAQ,IACRA,EAACO,EAAA,CACC,UAAWC,EAAgB,cAC5B,sBAED,GACF,EAGF,SAAAP,EAACQ,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,mBAC5C,UAAAT,EAACU,EAAA,CAAK,UAAU,wBAAwB,EACxCV,EAAC,QAAK,UAAU,UAAU,gBAAI,GAChC,EACF,GAEJ,EACAA,EAAC,QAAK,UAAU,wBACb,SAAAW,EAAeR,EAAaC,CAAQ,EACvC,GACF,EACAJ,EAACY,EAAA,EAAU,GACb,CAEJ,CAxCgBC,EAAAX,EAAA","names":["Info","Fragment","jsx","jsxs","CostCalculatorGrossSalary","grossSalary","currency","hasExtraStatutoryPayment","BasicTooltip","ZendeskTriggerButton","zendeskArticles","Button","Info","formatCurrency","Separator","__name"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/separator.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator-root\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n"],"mappings":"gFACA,UAAYA,MAAwB,4BAWhC,cAAAC,MAAA,oBAPJ,SAASC,EAAU,CACjB,UAAAC,EACA,YAAAC,EAAc,aACd,WAAAC,EAAa,GACb,GAAGC,CACL,EAAyD,CACvD,OACEL,EAAoB,OAAnB,CACC,YAAU,iBACV,WAAYI,EACZ,YAAaD,EACb,UAAWG,EACT,iKACAJ,CACF,EACC,GAAGG,EACN,CAEJ,CAlBSE,EAAAN,EAAA","names":["SeparatorPrimitive","jsx","Separator","className","orientation","decorative","props","cn","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as F}from"./chunk-AVA4MEFP.js";import{b as l}from"./chunk-CFIJKJXD.js";import{f,g as p}from"./chunk-GAOBYAJE.js";import{c as u}from"./chunk-MXFDOIUA.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a as r}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as a}from"react/jsx-runtime";var w=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:m,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:s,onSubmit:S,stepState:g,initialValues:i,handleValidation:y}}=_(),V=l(y),e=f({resolver:V,defaultValues:g.values?.form||i,shouldUnregister:!0,mode:"onBlur"});R(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=r(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!w.includes(c)&&i[c]!==P){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=u(t,s,{isPartialValidation:!1});await b?.(d);let n=await S(t);n.error?m?.(n.error):await A?.(n.data)},"handleSubmit");return a(p,{...e,children:a("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:a(F,{fields:s})})})}r(x,"ContractAmendmentForm");export{x as a};
2
- //# sourceMappingURL=chunk-NC3VBBHC.js.map
@@ -1,2 +0,0 @@
1
- import{a as g}from"./chunk-CHSULXMN.js";import{b as _}from"./chunk-3ZWDIEEM.js";import{c,h as d,i as u,j as x,k as C,l as T,m as R}from"./chunk-GAOBYAJE.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as E}from"react/jsx-runtime";function J({name:t,description:m,label:r,type:f,onChange:s,component:w,includeErrorMessage:I=!0,additionalProps:P={},maxLength:l,...h}){let{components:N}=_(),{control:D}=c();return o(d,{control:D,name:t,render:({field:e,fieldState:F})=>{let i=w||N?.text;if(i){let n={name:t,description:m,label:r,type:f,onChange:s,metadata:P,maxLength:l,...h};return o(i,{field:{...e,onChange:a(p=>{e.onChange(p),s?.(p)},"onChange")},fieldState:F,fieldData:n})}return E(u,{"data-field":t,className:`RemoteFlows__TextField__Item__${t}`,children:[r&&o(x,{className:"RemoteFlows__TextField__Label",children:r}),o(C,{children:o(g,{...e,value:e.value??"",onChange:n=>{e.onChange(n),s?.(n)},className:"RemoteFlows__TextField__Input",placeholder:r,maxLength:l})}),m&&o(T,{className:"RemoteFlows__TextField__Description",children:m}),I&&F.error&&o(R,{className:"RemoteFlows__TextField__Error"})]})}})}a(J,"TextField");export{J as a};
2
- //# sourceMappingURL=chunk-NVJYAX22.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/fields/TextField.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport {\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from '../../ui/form';\nimport { Input } from '../../ui/input';\n\nexport type TextFieldProps = React.ComponentProps<'input'> & {\n name: string;\n} & Partial<\n JSFField & {\n onChange?: (value: any) => void;\n component?: Components['text'];\n includeErrorMessage?: boolean;\n additionalProps?: Record<string, unknown>;\n }\n >;\n\nexport function TextField({\n name,\n description,\n label,\n type,\n onChange,\n component,\n includeErrorMessage = true,\n additionalProps = {},\n maxLength,\n ...rest\n}: TextFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const CustomTextField = component || components?.text;\n if (CustomTextField) {\n const customTextFieldProps = {\n name,\n description,\n label,\n type,\n onChange,\n metadata: additionalProps,\n maxLength,\n ...rest,\n };\n return (\n <CustomTextField\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextFieldProps}\n />\n );\n }\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__TextField__Item__${name}`}\n >\n {label && (\n <FormLabel className=\"RemoteFlows__TextField__Label\">\n {label}\n </FormLabel>\n )}\n <FormControl>\n <Input\n {...field}\n value={field.value ?? ''}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n field.onChange(event);\n onChange?.(event);\n }}\n className=\"RemoteFlows__TextField__Input\"\n placeholder={label}\n maxLength={maxLength}\n />\n </FormControl>\n {description && (\n <FormDescription className=\"RemoteFlows__TextField__Description\">\n {description}\n </FormDescription>\n )}\n {includeErrorMessage && fieldState.error && (\n <FormMessage className=\"RemoteFlows__TextField__Error\" />\n )}\n </FormItem>\n );\n }}\n />\n );\n}\n"],"mappings":"gMA4DY,cAAAA,EAeF,QAAAC,MAfE,oBAjCL,SAASC,EAAU,CACxB,KAAAC,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,oBAAAC,EAAsB,GACtB,gBAAAC,EAAkB,CAAC,EACnB,UAAAC,EACA,GAAGC,CACL,EAAmB,CACjB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAEnC,OACEhB,EAACiB,EAAA,CACC,QAASF,EACT,KAAMZ,EACN,OAAQ,CAAC,CAAE,MAAAe,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAkBZ,GAAaK,GAAY,KACjD,GAAIO,EAAiB,CACnB,IAAMC,EAAuB,CAC3B,KAAAlB,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,SAAUG,EACV,UAAAC,EACA,GAAGC,CACL,EACA,OACEZ,EAACoB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAe,CACxBL,EAAM,SAASK,CAAK,EACpBhB,IAAWgB,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,CAEA,OACEpB,EAACuB,EAAA,CACC,aAAYrB,EACZ,UAAW,iCAAiCA,CAAI,GAE/C,UAAAE,GACCL,EAACyB,EAAA,CAAU,UAAU,gCAClB,SAAApB,EACH,EAEFL,EAAC0B,EAAA,CACC,SAAA1B,EAAC2B,EAAA,CACE,GAAGT,EACJ,MAAOA,EAAM,OAAS,GACtB,SAAWU,GAA+C,CACxDV,EAAM,SAASU,CAAK,EACpBrB,IAAWqB,CAAK,CAClB,EACA,UAAU,gCACV,YAAavB,EACb,UAAWM,EACb,EACF,EACCP,GACCJ,EAAC6B,EAAA,CAAgB,UAAU,sCACxB,SAAAzB,EACH,EAEDK,GAAuBU,EAAW,OACjCnB,EAAC8B,EAAA,CAAY,UAAU,gCAAgC,GAE3D,CAEJ,EACF,CAEJ,CAnFgBR,EAAApB,EAAA","names":["jsx","jsxs","TextField","name","description","label","type","onChange","component","includeErrorMessage","additionalProps","maxLength","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","CustomTextField","customTextFieldProps","__name","value","FormItem","FormLabel","FormControl","Input","event","FormDescription","FormMessage"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype CostCalculatorBenefitsBreakdownProps = {\n benefitsTotal: number | undefined;\n benefitsBreakdown: {\n name: string;\n description: string | null;\n amount: number;\n zendesk_article_url: string | null;\n zendesk_article_id: string | null;\n }[];\n currency: string;\n};\n\nexport function CostCalculatorBenefitsBreakdown({\n benefitsTotal,\n benefitsBreakdown,\n currency,\n}: CostCalculatorBenefitsBreakdownProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground-800\">Benefits</h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(benefitsTotal, currency)}\n </span>\n </div>\n <Separator className=\"mb-3\" />\n\n <div className=\"space-y-3 pl-2\">\n {benefitsBreakdown.map((benefit, index) => (\n <div key={index} className=\"flex justify-between items-start text-sm\">\n <div className=\"flex items-start gap-2\">\n <span>{benefit.name}</span>\n {benefit.description && (\n <BasicTooltip\n content={\n <>\n <span>{benefit.description}</span>{' '}\n {benefit.zendesk_article_url && (\n <ZendeskTriggerButton\n zendeskId={Number(benefit.zendesk_article_id)}\n >\n Learn more\n </ZendeskTriggerButton>\n )}\n </>\n }\n >\n <Button variant=\"ghost\" size=\"icon\" className=\"h-4 w-4 p-0\">\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </BasicTooltip>\n )}\n </div>\n <span>{formatCurrency(benefit.amount, currency)}</span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"gPAAA,OAAS,QAAAA,MAAY,eA2Bf,OAgBc,YAAAC,EAfZ,OAAAC,EADF,QAAAC,MAAA,oBAPC,SAASC,EAAgC,CAC9C,cAAAC,EACA,kBAAAC,EACA,SAAAC,CACF,EAAyC,CACvC,OACEJ,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAD,EAAC,MAAG,UAAU,0CAA0C,oBAAQ,EAChEA,EAAC,QAAK,UAAU,wBACb,SAAAM,EAAeH,EAAeE,CAAQ,EACzC,GACF,EACAL,EAACO,EAAA,CAAU,UAAU,OAAO,EAE5BP,EAAC,OAAI,UAAU,iBACZ,SAAAI,EAAkB,IAAI,CAACI,EAASC,IAC/BR,EAAC,OAAgB,UAAU,2CACzB,UAAAA,EAAC,OAAI,UAAU,yBACb,UAAAD,EAAC,QAAM,SAAAQ,EAAQ,KAAK,EACnBA,EAAQ,aACPR,EAACU,EAAA,CACC,QACET,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAM,SAAAQ,EAAQ,YAAY,EAAQ,IAClCA,EAAQ,qBACPR,EAACW,EAAA,CACC,UAAW,OAAOH,EAAQ,kBAAkB,EAC7C,sBAED,GAEJ,EAGF,SAAAP,EAACW,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,cAC5C,UAAAZ,EAACa,EAAA,CAAK,UAAU,wBAAwB,EACxCb,EAAC,QAAK,UAAU,UAAU,gBAAI,GAChC,EACF,GAEJ,EACAA,EAAC,QAAM,SAAAM,EAAeE,EAAQ,OAAQH,CAAQ,EAAE,IAzBxCI,CA0BV,CACD,EACH,GACF,CAEJ,CAhDgBK,EAAAZ,EAAA","names":["Info","Fragment","jsx","jsxs","CostCalculatorBenefitsBreakdown","benefitsTotal","benefitsBreakdown","currency","formatCurrency","Separator","benefit","index","BasicTooltip","ZendeskTriggerButton","Button","Info","__name"]}
@@ -1,2 +0,0 @@
1
- import{b}from"./chunk-PGWKJ6FK.js";import{a as u}from"./chunk-AVA4MEFP.js";import{b as f}from"./chunk-CFIJKJXD.js";import{b as y}from"./chunk-QW4JPW6J.js";import{f as p,g as F}from"./chunk-GAOBYAJE.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as S}from"react";import{jsx as d}from"react/jsx-runtime";function N({defaultValues:l,onSubmit:g,components:E}){let{formId:w,onboardingBag:o}=b(),h=f(o.handleValidation),r=p({resolver:h,defaultValues:l,shouldUnregister:!1,mode:"onBlur"});S(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),S(()=>{let t=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==l[i])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let k=m(async(t,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:i,onError:c}=s.draftCallbacks;try{if(!await r.trigger())return;let n=await o.onSubmit(t);if(n?.data)i?.();else if(n?.error){let B=o.stepState.currentStep.name,P=o.meta?.fields?.[B],O=y(n?.fieldErrors||[],P);c?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){c?.({error:a,rawError:a,fieldErrors:[]})}}else g(t)},"handleSubmit");return d(F,{...r,children:d("form",{id:w,onSubmit:r.handleSubmit(k),className:"space-y-4 RemoteFlows__OnboardingForm",children:d(u,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})})})}m(N,"OnboardingForm");export{N as a};
2
- //# sourceMappingURL=chunk-SZOOX2KY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('border-b last:border-b-0', className)}\n {...props}\n />\n );\n}\n\ntype AccordionTriggerProps = React.ComponentProps<\n typeof AccordionPrimitive.Trigger\n> & {\n iconClassName?: string;\n};\n\nfunction AccordionTrigger({\n className,\n iconClassName,\n children,\n ...props\n}: AccordionTriggerProps) {\n return (\n <AccordionPrimitive.Header className=\"flex items-center\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon\n className={cn(\n 'text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200 mt-1',\n iconClassName,\n )}\n />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":"gFACA,UAAYA,MAAwB,4BACpC,OAAS,mBAAAC,MAAuB,eAOvB,cAAAC,EA8BH,QAAAC,MA9BG,oBAHT,SAASC,EAAU,CACjB,GAAGC,CACL,EAAyD,CACvD,OAAOH,EAAoB,OAAnB,CAAwB,YAAU,YAAa,GAAGG,EAAO,CACnE,CAJSC,EAAAF,EAAA,aAMT,SAASG,EAAc,CACrB,UAAAC,EACA,GAAGH,CACL,EAAyD,CACvD,OACEH,EAAoB,OAAnB,CACC,YAAU,iBACV,UAAWO,EAAG,2BAA4BD,CAAS,EAClD,GAAGH,EACN,CAEJ,CAXSC,EAAAC,EAAA,iBAmBT,SAASG,EAAiB,CACxB,UAAAF,EACA,cAAAG,EACA,SAAAC,EACA,GAAGP,CACL,EAA0B,CACxB,OACEH,EAAoB,SAAnB,CAA0B,UAAU,oBACnC,SAAAC,EAAoB,UAAnB,CACC,YAAU,oBACV,UAAWM,EACT,6SACAD,CACF,EACC,GAAGH,EAEH,UAAAO,EACDV,EAACW,EAAA,CACC,UAAWJ,EACT,mHACAE,CACF,EACF,GACF,EACF,CAEJ,CA1BSL,EAAAI,EAAA,oBA4BT,SAASI,EAAiB,CACxB,UAAAN,EACA,SAAAI,EACA,GAAGP,CACL,EAA4D,CAC1D,OACEH,EAAoB,UAAnB,CACC,YAAU,oBACV,UAAU,4GACT,GAAGG,EAEJ,SAAAH,EAAC,OAAI,UAAWO,EAAG,YAAaD,CAAS,EAAI,SAAAI,EAAS,EACxD,CAEJ,CAdSN,EAAAQ,EAAA","names":["AccordionPrimitive","ChevronDownIcon","jsx","jsxs","Accordion","props","__name","AccordionItem","className","cn","AccordionTrigger","iconClassName","children","ChevronDownIcon","AccordionContent"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/scroll-area.tsx","../src/flows/CostCalculator/CostCalculatorDisclaimer.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","import {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerHeader,\n DrawerTitle,\n DrawerTrigger,\n} from '@/src/components/ui/drawer';\nimport { ScrollArea } from '@/src/components/ui/scroll-area';\nimport { X } from 'lucide-react';\nimport { Button } from '@/src/components/ui/button';\nimport { disclaimerData } from '@/src/flows/CostCalculator/disclaimerUtils';\n\ntype CostCalculatorDisclaimerProps = {\n label?: string;\n};\n\nexport const CostCalculatorDisclaimer = ({\n label = 'Disclaimer',\n}: CostCalculatorDisclaimerProps) => {\n return (\n <Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"link\" size=\"link\">\n {label}\n </Button>\n </DrawerTrigger>\n <DrawerContent>\n <DrawerHeader>\n <DrawerClose className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DrawerClose>\n <DrawerTitle>{disclaimerData?.data.title}</DrawerTitle>\n <DrawerDescription>\n For more details read our{' '}\n <Button variant=\"link\" size=\"link\" asChild>\n <a\n href={disclaimerData?.data.html_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Disclaimer\n </a>\n </Button>\n </DrawerDescription>\n </DrawerHeader>\n <ScrollArea className=\"px-4 pb-4 overflow-y-auto max-h-[calc(80vh-120px)] cost-calculator-disclaimer-drawer-scroll-area\">\n <div\n className=\"cost-calculator-disclaimer-drawer-body\"\n dangerouslySetInnerHTML={{\n __html: disclaimerData?.data.body ?? '',\n }}\n ></div>\n </ScrollArea>\n </DrawerContent>\n </Drawer>\n );\n};\n"],"mappings":"kPAAA,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,YCjChE,OAAS,KAAAE,MAAS,eAcV,cAAAC,EAME,QAAAC,MANF,oBAND,IAAMC,EAA2BC,EAAA,CAAC,CACvC,MAAAC,EAAQ,YACV,IAEIH,EAACI,EAAA,CACC,UAAAL,EAACM,EAAA,CAAc,QAAO,GACpB,SAAAN,EAACO,EAAA,CAAO,QAAQ,OAAO,KAAK,OACzB,SAAAH,EACH,EACF,EACAH,EAACO,EAAA,CACC,UAAAP,EAACQ,EAAA,CACC,UAAAR,EAACS,EAAA,CAAY,UAAU,4MACrB,UAAAV,EAACW,EAAA,CAAE,UAAU,UAAU,EACvBX,EAAC,QAAK,UAAU,UAAU,iBAAK,GACjC,EACAA,EAACY,EAAA,CAAa,SAAAC,GAAgB,KAAK,MAAM,EACzCZ,EAACa,EAAA,CAAkB,sCACS,IAC1Bd,EAACO,EAAA,CAAO,QAAQ,OAAO,KAAK,OAAO,QAAO,GACxC,SAAAP,EAAC,KACC,KAAMa,GAAgB,KAAK,SAC3B,OAAO,SACP,IAAI,sBACL,sBAED,EACF,GACF,GACF,EACAb,EAACe,EAAA,CAAW,UAAU,mGACpB,SAAAf,EAAC,OACC,UAAU,yCACV,wBAAyB,CACvB,OAAQa,GAAgB,KAAK,MAAQ,EACvC,EACD,EACH,GACF,GACF,EAvCoC","names":["React","ScrollAreaPrimitive","jsx","jsxs","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","X","jsx","jsxs","CostCalculatorDisclaimer","__name","label","Drawer","DrawerTrigger","Button","DrawerContent","DrawerHeader","DrawerClose","X","DrawerTitle","disclaimerData","DrawerDescription","ScrollArea"]}
@@ -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/components/ui/checkbox.tsx","../src/components/ui/alert.tsx","../src/components/ui/radio-group.tsx","../src/components/ui/select.tsx","../src/components/ui/dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { Check } from 'lucide-react';\n\nimport { cn } from '@/src/lib/utils';\n\nconst Checkbox = React.forwardRef<\n React.ComponentRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'peer h-4 w-4 shrink-0 rounded-sm border border-input ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-checkbox data-[state=checked]:text-primary',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn('flex items-center justify-center text-current')}\n >\n <Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90',\n warning:\n 'bg-card bg-warning border-warning-border [&>svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n 'col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n","import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { CircleIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn('grid gap-3', className)}\n {...props}\n />\n );\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n 'border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n","import * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger>) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex w-full items-center justify-between rounded-xl border bg-transparent px-4 py-7 text-sm whitespace-nowrap transition-[color] outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n 'focus-visible:border-focused',\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild className=\"absolute right-4\">\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('px-2 py-1.5 text-sm font-medium', className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground min-h-11 justify-between [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-default items-center gap-2 py-2 px-4 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <span className=\"flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('bg-border pointer-events-none -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n 'flex cursor-default items-center justify-center py-1',\n className,\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n 'flex cursor-default items-center justify-center py-1',\n className,\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n","'use client';\n\nimport * as React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__Dialog__Close\">\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n 'flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('text-lg leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":"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","names":["React","CheckboxPrimitive","Check","jsx","Checkbox","className","props","ref","cn","Check","cva","jsx","alertVariants","cva","Alert","className","variant","props","cn","__name","AlertTitle","AlertDescription","RadioGroupPrimitive","CircleIcon","jsx","RadioGroup","className","props","cn","__name","RadioGroupItem","CircleIcon","SelectPrimitive","CheckIcon","ChevronDownIcon","ChevronUpIcon","jsx","jsxs","Select","props","__name","SelectGroup","SelectValue","SelectTrigger","className","children","cn","ChevronDownIcon","SelectContent","position","SelectScrollUpButton","SelectScrollDownButton","SelectItem","className","children","props","jsxs","cn","jsx","CheckIcon","__name","SelectScrollUpButton","className","props","jsx","cn","ChevronUpIcon","__name","SelectScrollDownButton","ChevronDownIcon","DialogPrimitive","XIcon","jsx","jsxs","Dialog","props","__name","DialogTrigger","DialogPortal","DialogOverlay","className","props","jsx","cn","__name","DialogContent","children","jsxs","DialogPortal","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/shared/zendesk-drawer/api.ts","../src/components/shared/zendesk-drawer/ZendeskDrawer.tsx","../src/components/shared/zendesk-drawer/ZendeskTriggerButton.tsx"],"sourcesContent":["import { getShowHelpCenterArticle } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@hey-api/client-fetch';\nimport { useQuery } from '@tanstack/react-query';\n\nexport const useZendeskArticle = (\n zendeskId: number | null,\n queryOptions?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['zendesk-article', zendeskId],\n queryFn: async () => {\n const response = await getShowHelpCenterArticle({\n client: client as Client,\n path: {\n id: Number(zendeskId),\n },\n });\n\n if (response.error) {\n throw new Error(response.error.message || 'Failed to fetch article');\n }\n\n return response;\n },\n select: (data) => data.data?.data.help_center_article,\n retry: false,\n ...queryOptions,\n });\n};\n","import { useZendeskArticle } from '@/src/components/shared/zendesk-drawer/api';\nimport {\n Drawer,\n DrawerTrigger,\n DrawerContent,\n DrawerDescription,\n DrawerHeader,\n DrawerTitle,\n} from '@/src/components/ui/drawer';\nimport { sanitizeHtml } from '@/src/lib/utils';\n\nexport type ZendeskDrawerProps = {\n Trigger: React.ReactNode;\n zendeskId: number;\n open: boolean;\n onClose: () => void;\n};\n\nconst buildZendeskURL = (zendeskId: number) => {\n return `https://support.remote.com/hc/en-us/articles/${zendeskId}`;\n};\n\nexport const ZendeskDrawer = ({\n Trigger,\n zendeskId,\n open,\n onClose,\n}: ZendeskDrawerProps) => {\n const zendeskURL = buildZendeskURL(zendeskId);\n\n const handleClose = () => {\n onClose?.();\n };\n\n const { data, isLoading, error } = useZendeskArticle(zendeskId, {\n enabled: open,\n });\n\n return (\n <Drawer\n open={open}\n onOpenChange={(open) => !open && handleClose()}\n direction=\"right\"\n >\n <DrawerTrigger asChild>{Trigger}</DrawerTrigger>\n <DrawerContent className=\"h-full w-[480px] mt-0 ml-auto RemoteFlows_ZendeskDrawer\">\n <div className=\"h-full flex flex-col\">\n <DrawerHeader>\n <DrawerTitle>{data?.title}</DrawerTitle>\n <DrawerDescription>\n For more details see our{' '}\n <a href={zendeskURL} target=\"_blank\" rel=\"noopener noreferrer\">\n help article\n </a>{' '}\n </DrawerDescription>\n </DrawerHeader>\n {isLoading && <div>Loading...</div>}\n {error && (\n <div className=\"text-sm p-4 text-red-500\">\n Error loading article\n </div>\n )}\n <div\n className=\"flex-1 overflow-y-auto p-4 RemoteFlows_ZendeskDrawer__Content\"\n dangerouslySetInnerHTML={{\n __html: sanitizeHtml(data?.body || ''),\n }}\n ></div>\n </div>\n </DrawerContent>\n </Drawer>\n );\n};\n","import { cn } from '@/src/lib/utils';\nimport { ZendeskDrawer } from './ZendeskDrawer';\nimport { useState } from 'react';\n\ninterface ZendeskTriggerButtonProps {\n zendeskId: number;\n className?: string;\n onClick?: (zendeskId: number) => void;\n children?: React.ReactNode;\n}\n\nexport function ZendeskTriggerButton({\n zendeskId,\n className,\n onClick,\n children,\n}: ZendeskTriggerButtonProps) {\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClick = () => {\n setIsOpen(true);\n onClick?.(zendeskId);\n };\n\n return (\n <ZendeskDrawer\n zendeskId={zendeskId}\n open={isOpen}\n onClose={() => setIsOpen(false)}\n Trigger={\n <button\n onClick={handleClick}\n className={cn(\n 'RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block mt-1 text-xs bg-transparent border-none cursor-pointer p-0',\n className,\n )}\n >\n {children}\n </button>\n }\n />\n );\n}\n"],"mappings":"kPAGA,OAAS,YAAAA,MAAgB,wBAElB,IAAMC,EAAoBC,EAAA,CAC/BC,EACAC,IACG,CACH,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAU,EAC7B,OAAOC,EAAS,CACd,SAAU,CAAC,kBAAmBJ,CAAS,EACvC,QAASD,EAAA,SAAY,CACnB,IAAMM,EAAW,MAAMC,EAAyB,CAC9C,OAAQJ,EACR,KAAM,CACJ,GAAI,OAAOF,CAAS,CACtB,CACF,CAAC,EAED,GAAIK,EAAS,MACX,MAAM,IAAI,MAAMA,EAAS,MAAM,SAAW,yBAAyB,EAGrE,OAAOA,CACT,EAbS,WAcT,OAAQN,EAACQ,GAASA,EAAK,MAAM,KAAK,oBAA1B,UACR,MAAO,GACP,GAAGN,CACL,CAAC,CACH,EAzBiC,qBCuC3B,cAAAO,EAKM,QAAAC,MALN,oBA1BN,IAAMC,EAAkBC,EAACC,GAChB,gDAAgDA,CAAS,GAD1C,mBAIXC,EAAgBF,EAAA,CAAC,CAC5B,QAAAG,EACA,UAAAF,EACA,KAAAG,EACA,QAAAC,CACF,IAA0B,CACxB,IAAMC,EAAaP,EAAgBE,CAAS,EAEtCM,EAAcP,EAAA,IAAM,CACxBK,IAAU,CACZ,EAFoB,eAId,CAAE,KAAAG,EAAM,UAAAC,EAAW,MAAAC,CAAM,EAAIC,EAAkBV,EAAW,CAC9D,QAASG,CACX,CAAC,EAED,OACEN,EAACc,EAAA,CACC,KAAMR,EACN,aAAeA,GAAS,CAACA,GAAQG,EAAY,EAC7C,UAAU,QAEV,UAAAV,EAACgB,EAAA,CAAc,QAAO,GAAE,SAAAV,EAAQ,EAChCN,EAACiB,EAAA,CAAc,UAAU,0DACvB,SAAAhB,EAAC,OAAI,UAAU,uBACb,UAAAA,EAACiB,EAAA,CACC,UAAAlB,EAACmB,EAAA,CAAa,SAAAR,GAAM,MAAM,EAC1BV,EAACmB,EAAA,CAAkB,qCACQ,IACzBpB,EAAC,KAAE,KAAMS,EAAY,OAAO,SAAS,IAAI,sBAAsB,wBAE/D,EAAK,KACP,GACF,EACCG,GAAaZ,EAAC,OAAI,sBAAU,EAC5Ba,GACCb,EAAC,OAAI,UAAU,2BAA2B,iCAE1C,EAEFA,EAAC,OACC,UAAU,gEACV,wBAAyB,CACvB,OAAQqB,EAAaV,GAAM,MAAQ,EAAE,CACvC,EACD,GACH,EACF,GACF,CAEJ,EAlD6B,iBCpB7B,OAAS,YAAAW,MAAgB,QA4BjB,cAAAC,MAAA,oBAnBD,SAASC,EAAqB,CACnC,UAAAC,EACA,UAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAA8B,CAC5B,GAAM,CAACC,EAAQC,CAAS,EAAIC,EAAS,EAAK,EAO1C,OACER,EAACS,EAAA,CACC,UAAWP,EACX,KAAMI,EACN,QAAS,IAAMC,EAAU,EAAK,EAC9B,QACEP,EAAC,UACC,QAZYU,EAAA,IAAM,CACxBH,EAAU,EAAI,EACdH,IAAUF,CAAS,CACrB,EAHoB,eAaZ,UAAWS,EACT,0IACAR,CACF,EAEC,SAAAE,EACH,EAEJ,CAEJ,CA/BgBK,EAAAT,EAAA","names":["useQuery","useZendeskArticle","__name","zendeskId","queryOptions","client","useClient","useQuery","response","getShowHelpCenterArticle","data","jsx","jsxs","buildZendeskURL","__name","zendeskId","ZendeskDrawer","Trigger","open","onClose","zendeskURL","handleClose","data","isLoading","error","useZendeskArticle","Drawer","DrawerTrigger","DrawerContent","DrawerHeader","DrawerTitle","DrawerDescription","sanitizeHtml","useState","jsx","ZendeskTriggerButton","zendeskId","className","onClick","children","isOpen","setIsOpen","useState","ZendeskDrawer","__name","cn"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype CostCalculatorExtraStatutoryPaymentsBreakdownProps = {\n extraStatutoryPaymentsTotal: number | null;\n extraStatutoryPaymentsBreakdown: {\n name: string;\n description: string | null;\n zendesk_article_url: string | null;\n zendesk_article_id: string | null;\n amount: number;\n }[];\n currency: string;\n};\n\nexport function CostCalculatorExtraStatutoryPaymentsBreakdown({\n extraStatutoryPaymentsTotal,\n extraStatutoryPaymentsBreakdown,\n currency,\n}: CostCalculatorExtraStatutoryPaymentsBreakdownProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground-800\">\n Extra Statutory Payments\n </h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(extraStatutoryPaymentsTotal, currency)}\n </span>\n </div>\n <Separator className=\"mb-3\" />\n\n <div className=\"space-y-3 pl-2\">\n {extraStatutoryPaymentsBreakdown.map((payment, index) => (\n <div key={index} className=\"flex justify-between items-start text-sm\">\n <div className=\"flex items-start gap-2\">\n <span>{payment.name}</span>\n {payment.description && (\n <BasicTooltip\n content={\n <>\n <span>{payment.description}</span>{' '}\n {payment.zendesk_article_url && (\n <ZendeskTriggerButton\n zendeskId={Number(payment.zendesk_article_id)}\n >\n Learn more\n </ZendeskTriggerButton>\n )}\n </>\n }\n >\n <Button variant=\"ghost\" size=\"icon\" className=\"h-4 w-4 p-0\">\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </BasicTooltip>\n )}\n </div>\n <span>{formatCurrency(payment.amount, currency)}</span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"gPAAA,OAAS,QAAAA,MAAY,eA2Bf,OAkBc,YAAAC,EAjBZ,OAAAC,EADF,QAAAC,MAAA,oBAPC,SAASC,EAA8C,CAC5D,4BAAAC,EACA,gCAAAC,EACA,SAAAC,CACF,EAAuD,CACrD,OACEJ,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAD,EAAC,MAAG,UAAU,0CAA0C,oCAExD,EACAA,EAAC,QAAK,UAAU,wBACb,SAAAM,EAAeH,EAA6BE,CAAQ,EACvD,GACF,EACAL,EAACO,EAAA,CAAU,UAAU,OAAO,EAE5BP,EAAC,OAAI,UAAU,iBACZ,SAAAI,EAAgC,IAAI,CAACI,EAASC,IAC7CR,EAAC,OAAgB,UAAU,2CACzB,UAAAA,EAAC,OAAI,UAAU,yBACb,UAAAD,EAAC,QAAM,SAAAQ,EAAQ,KAAK,EACnBA,EAAQ,aACPR,EAACU,EAAA,CACC,QACET,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAM,SAAAQ,EAAQ,YAAY,EAAQ,IAClCA,EAAQ,qBACPR,EAACW,EAAA,CACC,UAAW,OAAOH,EAAQ,kBAAkB,EAC7C,sBAED,GAEJ,EAGF,SAAAP,EAACW,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,cAC5C,UAAAZ,EAACa,EAAA,CAAK,UAAU,wBAAwB,EACxCb,EAAC,QAAK,UAAU,UAAU,gBAAI,GAChC,EACF,GAEJ,EACAA,EAAC,QAAM,SAAAM,EAAeE,EAAQ,OAAQH,CAAQ,EAAE,IAzBxCI,CA0BV,CACD,EACH,GACF,CAEJ,CAlDgBK,EAAAZ,EAAA","names":["Info","Fragment","jsx","jsxs","CostCalculatorExtraStatutoryPaymentsBreakdown","extraStatutoryPaymentsTotal","extraStatutoryPaymentsBreakdown","currency","formatCurrency","Separator","payment","index","BasicTooltip","ZendeskTriggerButton","Button","Info","__name"]}