@remoteoss/remote-flows 0.32.0 → 1.1.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 (448) hide show
  1. package/README.md +52 -109
  2. package/dist/chunk-2SO4LW7V.js +2 -0
  3. package/dist/chunk-2SO4LW7V.js.map +1 -0
  4. package/dist/chunk-2TCLBL2U.js +2 -0
  5. package/dist/chunk-2TCLBL2U.js.map +1 -0
  6. package/dist/chunk-2TILNBMK.js +2 -0
  7. package/dist/chunk-2TILNBMK.js.map +1 -0
  8. package/dist/{chunk-L3D2AK3X.js → chunk-3JKQNLJQ.js} +2 -2
  9. package/dist/{chunk-5AG4K2EA.js → chunk-3SAV2OEE.js} +2 -2
  10. package/dist/chunk-3VOTCJWD.js +2 -0
  11. package/dist/{chunk-LV5R6H3D.js.map → chunk-3VOTCJWD.js.map} +1 -1
  12. package/dist/chunk-4C5N57R7.js +2 -0
  13. package/dist/chunk-4C5N57R7.js.map +1 -0
  14. package/dist/{chunk-QIQTM4HB.js → chunk-4GDEWYZC.js} +2 -2
  15. package/dist/chunk-5RPTKYPJ.js +2 -0
  16. package/dist/{chunk-TWVFLXVF.js.map → chunk-5RPTKYPJ.js.map} +1 -1
  17. package/dist/chunk-66N57DKF.js +2 -0
  18. package/dist/{chunk-CNDSIADP.js.map → chunk-66N57DKF.js.map} +1 -1
  19. package/dist/{chunk-UPXJJBXZ.js → chunk-6YXSWOKH.js} +2 -2
  20. package/dist/{chunk-PD24XKD6.js → chunk-72OH7PSF.js} +2 -2
  21. package/dist/{chunk-DPWL4KNA.js → chunk-77EBKLW6.js} +2 -2
  22. package/dist/chunk-77EBKLW6.js.map +1 -0
  23. package/dist/{chunk-MZB24YJP.js → chunk-7FMR3EIX.js} +2 -2
  24. package/dist/chunk-7FMR3EIX.js.map +1 -0
  25. package/dist/chunk-7IFYJQW7.js +2 -0
  26. package/dist/chunk-7IFYJQW7.js.map +1 -0
  27. package/dist/chunk-AFYLN24W.js +2 -0
  28. package/dist/chunk-AFYLN24W.js.map +1 -0
  29. package/dist/{chunk-7VOQAVM4.js → chunk-AT7VHJMW.js} +2 -2
  30. package/dist/chunk-B77KFSEU.js +2 -0
  31. package/dist/chunk-B77KFSEU.js.map +1 -0
  32. package/dist/{chunk-DPY77ASH.js → chunk-BFMUZP2O.js} +2 -2
  33. package/dist/{chunk-6FWFRVQE.js → chunk-BHE7NDIR.js} +2 -2
  34. package/dist/chunk-BVDT43OO.js +2 -0
  35. package/dist/chunk-BVDT43OO.js.map +1 -0
  36. package/dist/chunk-CDCKGIF5.js +2 -0
  37. package/dist/chunk-CDCKGIF5.js.map +1 -0
  38. package/dist/chunk-CFN3Z76T.js +2 -0
  39. package/dist/chunk-CFN3Z76T.js.map +1 -0
  40. package/dist/{chunk-DTHBG6BD.js → chunk-EC7QVRRX.js} +2 -2
  41. package/dist/chunk-ELXVVBRD.js +2 -0
  42. package/dist/chunk-ELXVVBRD.js.map +1 -0
  43. package/dist/chunk-FGBEOUQK.js +1 -0
  44. package/dist/chunk-FUMA5UUB.js +2 -0
  45. package/dist/chunk-FUMA5UUB.js.map +1 -0
  46. package/dist/{chunk-H425RKFI.js → chunk-FZDQ7EEI.js} +2 -2
  47. package/dist/{chunk-ENW4DCDU.js → chunk-G7N277WY.js} +2 -2
  48. package/dist/chunk-H6Q65JLZ.js +2 -0
  49. package/dist/chunk-H6Q65JLZ.js.map +1 -0
  50. package/dist/{chunk-QIVDIOJG.js → chunk-I4XJ764Y.js} +2 -2
  51. package/dist/chunk-IKS3YZ7X.js +2 -0
  52. package/dist/chunk-IKS3YZ7X.js.map +1 -0
  53. package/dist/{chunk-EM5UYWUQ.js → chunk-J6QOM4P4.js} +2 -2
  54. package/dist/chunk-JA7UP6GN.js +2 -0
  55. package/dist/chunk-JA7UP6GN.js.map +1 -0
  56. package/dist/{chunk-HBHVB56P.js → chunk-JCYNAEWF.js} +2 -2
  57. package/dist/{chunk-ANGJCT4I.js → chunk-K3PHODKN.js} +2 -2
  58. package/dist/{chunk-3ZWDIEEM.js → chunk-KQPDXXG3.js} +1 -1
  59. package/dist/chunk-KQPDXXG3.js.map +1 -0
  60. package/dist/chunk-KRMKWQVS.js +2 -0
  61. package/dist/chunk-KRMKWQVS.js.map +1 -0
  62. package/dist/chunk-KYCI2BCF.js +2 -0
  63. package/dist/chunk-KYCI2BCF.js.map +1 -0
  64. package/dist/{chunk-43WMZDDH.js → chunk-L3Z2G32A.js} +1 -1
  65. package/dist/chunk-L3Z2G32A.js.map +1 -0
  66. package/dist/chunk-LCJSVSZ5.js +2 -0
  67. package/dist/chunk-LCJSVSZ5.js.map +1 -0
  68. package/dist/{chunk-WVDTHFGS.js → chunk-LJGCFFAT.js} +2 -2
  69. package/dist/{chunk-COBQ4WSJ.js → chunk-LOZIGR3Z.js} +2 -2
  70. package/dist/{chunk-ZQ6MG635.js → chunk-MDDI5GLL.js} +2 -2
  71. package/dist/chunk-MJ3QHSQ2.js +2 -0
  72. package/dist/chunk-MJ3QHSQ2.js.map +1 -0
  73. package/dist/{chunk-ID3ZF7QT.js → chunk-MKE27NUF.js} +2 -2
  74. package/dist/{chunk-AFRA4BIW.js → chunk-MXLQEDRJ.js} +2 -2
  75. package/dist/{chunk-LQAHRGU4.js → chunk-MZKA5DYP.js} +2 -2
  76. package/dist/chunk-N2VHZLA3.js +2 -0
  77. package/dist/chunk-N2VHZLA3.js.map +1 -0
  78. package/dist/{chunk-BV3PGYSH.js → chunk-ND4FAALX.js} +2 -2
  79. package/dist/chunk-NFUP6BFU.js +6 -0
  80. package/dist/chunk-NFUP6BFU.js.map +1 -0
  81. package/dist/{chunk-IUEXOXFA.js → chunk-NS4FRCEH.js} +2 -2
  82. package/dist/chunk-NVZHJOA3.js +2 -0
  83. package/dist/chunk-NVZHJOA3.js.map +1 -0
  84. package/dist/chunk-OAPK6TR7.js +2 -0
  85. package/dist/chunk-OAPK6TR7.js.map +1 -0
  86. package/dist/chunk-OHOCZB6S.js +2 -0
  87. package/dist/{chunk-76DHIEN7.js.map → chunk-OHOCZB6S.js.map} +1 -1
  88. package/dist/{chunk-SO3YQ4WT.js → chunk-OMRLBAVD.js} +2 -2
  89. package/dist/{chunk-MQ6F5LE4.js → chunk-PMTKQME6.js} +2 -2
  90. package/dist/{chunk-CW3MAP5L.js → chunk-QGGFY3DW.js} +2 -2
  91. package/dist/{chunk-OW5QGJD4.js → chunk-QH4EGUER.js} +2 -2
  92. package/dist/chunk-QKJNMYIA.js +2 -0
  93. package/dist/chunk-QKJNMYIA.js.map +1 -0
  94. package/dist/{chunk-P5WUODPR.js → chunk-QP3VWGCS.js} +2 -2
  95. package/dist/{chunk-5ZR7EFPY.js → chunk-QP5V46OP.js} +2 -2
  96. package/dist/{chunk-Q2N5SOKO.js → chunk-QUQLW5YW.js} +2 -2
  97. package/dist/{chunk-5KHLOGTR.js → chunk-RPTB2HUM.js} +2 -2
  98. package/dist/chunk-SQESDLUU.js +2 -0
  99. package/dist/{chunk-DZ2R72O5.js.map → chunk-SQESDLUU.js.map} +1 -1
  100. package/dist/{chunk-6VRUYYUV.js → chunk-STPJXT2A.js} +2 -2
  101. package/dist/chunk-UBWBBXKT.js +2 -0
  102. package/dist/chunk-UBWBBXKT.js.map +1 -0
  103. package/dist/{chunk-TWIUL2P3.js → chunk-UOOUV52J.js} +2 -2
  104. package/dist/{chunk-HZDCZFR5.js → chunk-V6X6F6LC.js} +2 -2
  105. package/dist/chunk-V6X6F6LC.js.map +1 -0
  106. package/dist/chunk-VHW6XBMG.js +2 -0
  107. package/dist/chunk-VHW6XBMG.js.map +1 -0
  108. package/dist/chunk-VXZN2TCG.js +2 -0
  109. package/dist/chunk-VXZN2TCG.js.map +1 -0
  110. package/dist/{chunk-X6CD3FMG.js → chunk-W57XSVXY.js} +2 -2
  111. package/dist/chunk-XOA7GG4P.js +2 -0
  112. package/dist/chunk-XQL5I2GC.js +2 -0
  113. package/dist/chunk-XQL5I2GC.js.map +1 -0
  114. package/dist/{chunk-2W2XD7ZY.js → chunk-Y47XYRGE.js} +2 -2
  115. package/dist/chunk-Y47XYRGE.js.map +1 -0
  116. package/dist/chunk-YR666AEH.js +2 -0
  117. package/dist/chunk-YR666AEH.js.map +1 -0
  118. package/dist/{chunk-UJKTTTGB.js → chunk-YSOGGVBO.js} +2 -2
  119. package/dist/{chunk-OIN3HGOQ.js → chunk-YWZI5KJN.js} +2 -2
  120. package/dist/chunk-ZIN2OWTH.js +2 -0
  121. package/dist/chunk-ZIN2OWTH.js.map +1 -0
  122. package/dist/{chunk-EKKRQI6B.js → chunk-ZKINPHYU.js} +2 -2
  123. package/dist/{chunk-FRTJ4KWA.js → chunk-ZPN5N6BA.js} +2 -2
  124. package/dist/chunk-ZPN5N6BA.js.map +1 -0
  125. package/dist/chunk-ZVA3C5TB.js +2 -0
  126. package/dist/chunk-ZVA3C5TB.js.map +1 -0
  127. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  128. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  129. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  130. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +5 -5
  131. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  132. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  133. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  134. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  135. package/dist/flows/ContractAmendment/context.d.ts +12 -12
  136. package/dist/flows/ContractAmendment/hooks.d.ts +12 -12
  137. package/dist/flows/ContractAmendment/hooks.js +1 -1
  138. package/dist/flows/ContractAmendment/index.d.ts +5 -5
  139. package/dist/flows/ContractAmendment/index.js +1 -1
  140. package/dist/flows/ContractAmendment/types.d.ts +8 -2
  141. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  142. package/dist/flows/ContractAmendment/utils.js +1 -1
  143. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +7 -7
  144. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  145. package/dist/flows/ContractorOnboarding/api.d.ts +16 -26
  146. package/dist/flows/ContractorOnboarding/api.js +1 -1
  147. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +6 -6
  148. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  149. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +7 -7
  150. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  151. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +7 -7
  152. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  153. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +7 -7
  154. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  155. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
  156. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  157. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  158. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
  159. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +7 -7
  160. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  161. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +6 -6
  162. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  163. package/dist/flows/ContractorOnboarding/context.d.ts +12 -15
  164. package/dist/flows/ContractorOnboarding/hooks.d.ts +7 -7
  165. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  166. package/dist/flows/ContractorOnboarding/index.d.ts +7 -7
  167. package/dist/flows/ContractorOnboarding/index.js +1 -1
  168. package/dist/flows/ContractorOnboarding/types.d.ts +7 -7
  169. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +5 -5
  170. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  171. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +5 -5
  172. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  173. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  174. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  175. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +8 -3
  176. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  177. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +8 -3
  178. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  179. package/dist/flows/CostCalculator/api.d.ts +12 -7
  180. package/dist/flows/CostCalculator/api.js +1 -1
  181. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  182. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  183. package/dist/flows/CostCalculator/context.d.ts +7 -7
  184. package/dist/flows/CostCalculator/hooks.d.ts +7 -7
  185. package/dist/flows/CostCalculator/hooks.js +1 -1
  186. package/dist/flows/CostCalculator/index.d.ts +5 -8
  187. package/dist/flows/CostCalculator/index.js +1 -1
  188. package/dist/flows/CostCalculator/types.d.ts +8 -3
  189. package/dist/flows/CostCalculator/utils.d.ts +5 -5
  190. package/dist/flows/CostCalculator/utils.js +1 -1
  191. package/dist/flows/Onboarding/OnboardingFlow.d.ts +6 -6
  192. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  193. package/dist/flows/Onboarding/api.d.ts +25 -34
  194. package/dist/flows/Onboarding/api.js +1 -1
  195. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  196. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  197. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +6 -6
  198. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  199. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +6 -6
  200. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  201. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +6 -6
  202. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  203. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  204. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +6 -6
  205. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  206. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  207. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  208. package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
  209. package/dist/flows/Onboarding/components/ReviewStep.d.ts +6 -6
  210. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  211. package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
  212. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +6 -6
  213. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  214. package/dist/flows/Onboarding/context.d.ts +14 -17
  215. package/dist/flows/Onboarding/hooks.d.ts +6 -6
  216. package/dist/flows/Onboarding/hooks.js +1 -1
  217. package/dist/flows/Onboarding/index.d.ts +6 -6
  218. package/dist/flows/Onboarding/index.js +1 -1
  219. package/dist/flows/Onboarding/types.d.ts +6 -6
  220. package/dist/flows/Onboarding/utils.d.ts +7 -7
  221. package/dist/flows/Onboarding/utils.js +1 -1
  222. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +6 -6
  223. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  224. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +6 -6
  225. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  226. package/dist/flows/Termination/PaidTimeOffForm.d.ts +6 -6
  227. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  228. package/dist/flows/Termination/TerminationBack.js +1 -1
  229. package/dist/flows/Termination/TerminationDetailsForm.d.ts +6 -6
  230. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  231. package/dist/flows/Termination/TerminationFlow.d.ts +6 -6
  232. package/dist/flows/Termination/TerminationFlow.js +1 -1
  233. package/dist/flows/Termination/TerminationForm.d.ts +6 -6
  234. package/dist/flows/Termination/TerminationForm.js +1 -1
  235. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  236. package/dist/flows/Termination/api.d.ts +9 -9
  237. package/dist/flows/Termination/api.js +1 -1
  238. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
  239. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  240. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +13 -13
  241. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  242. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +12 -12
  243. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  244. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +13 -13
  245. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  246. package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
  247. package/dist/flows/Termination/context.d.ts +14 -14
  248. package/dist/flows/Termination/hooks.d.ts +6 -6
  249. package/dist/flows/Termination/hooks.js +1 -1
  250. package/dist/flows/Termination/index.d.ts +9 -9
  251. package/dist/flows/Termination/index.js +1 -1
  252. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  253. package/dist/flows/Termination/json-schemas/schema.d.ts +6 -6
  254. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  255. package/dist/flows/Termination/types.d.ts +6 -6
  256. package/dist/flows/Termination/utils.d.ts +6 -6
  257. package/dist/flows/Termination/utils.js +1 -1
  258. package/dist/flows/types.d.ts +34 -4
  259. package/dist/index.css +2 -2
  260. package/dist/index.css.map +1 -1
  261. package/dist/index.d.ts +37 -16
  262. package/dist/index.js +1 -1
  263. package/dist/index.js.map +1 -1
  264. package/dist/internals.d.ts +1 -1
  265. package/dist/internals.js +1 -1
  266. package/dist/{mutations-Cdk0PM78.d.ts → mutations-CxBW1zxv.d.ts} +1 -1
  267. package/dist/{remoteFlows-DUivEPPh.d.ts → remoteFlows-CY58Msdt.d.ts} +1 -8
  268. package/dist/{types-BZBdCzER.d.ts → types-B9DYionD.d.ts} +40 -22
  269. package/dist/{types-pohqJTkr.d.ts → types-BoBuxeV0.d.ts} +14 -17
  270. package/dist/{types-C-X7siUr.d.ts → types-C9ltj_p9.d.ts} +10 -10
  271. package/dist/{types-OcTc56P-.d.ts → types-QAgBmZlN.d.ts} +3 -2
  272. package/dist/{types.gen-D0ZCnKWv.d.ts → types.gen-D7WEgMDJ.d.ts} +270 -221
  273. package/dist/utils-CjDMg_Yr.d.ts +22 -0
  274. package/package.json +46 -42
  275. package/dist/ZendeskTriggerButton-Dditzyfj.d.ts +0 -47
  276. package/dist/chunk-2W2XD7ZY.js.map +0 -1
  277. package/dist/chunk-3A47R5RQ.js +0 -2
  278. package/dist/chunk-3A47R5RQ.js.map +0 -1
  279. package/dist/chunk-3ZWDIEEM.js.map +0 -1
  280. package/dist/chunk-43WMZDDH.js.map +0 -1
  281. package/dist/chunk-5CVD5WZZ.js +0 -2
  282. package/dist/chunk-5CVD5WZZ.js.map +0 -1
  283. package/dist/chunk-5KZXFQLZ.js +0 -2
  284. package/dist/chunk-5KZXFQLZ.js.map +0 -1
  285. package/dist/chunk-5OZPBBXS.js +0 -2
  286. package/dist/chunk-5OZPBBXS.js.map +0 -1
  287. package/dist/chunk-5P7INAU2.js +0 -2
  288. package/dist/chunk-5P7INAU2.js.map +0 -1
  289. package/dist/chunk-76DHIEN7.js +0 -2
  290. package/dist/chunk-7CJX7I3M.js +0 -2
  291. package/dist/chunk-7CJX7I3M.js.map +0 -1
  292. package/dist/chunk-7R347KBY.js +0 -2
  293. package/dist/chunk-7R347KBY.js.map +0 -1
  294. package/dist/chunk-7YQAVDVX.js +0 -2
  295. package/dist/chunk-7YQAVDVX.js.map +0 -1
  296. package/dist/chunk-A477TZFC.js +0 -2
  297. package/dist/chunk-A477TZFC.js.map +0 -1
  298. package/dist/chunk-AA7QB3QQ.js +0 -2
  299. package/dist/chunk-AA7QB3QQ.js.map +0 -1
  300. package/dist/chunk-AM2IRFHQ.js +0 -2
  301. package/dist/chunk-AM2IRFHQ.js.map +0 -1
  302. package/dist/chunk-B6IVJUEH.js +0 -2
  303. package/dist/chunk-B6IVJUEH.js.map +0 -1
  304. package/dist/chunk-BCXRPHWY.js +0 -2
  305. package/dist/chunk-BCXRPHWY.js.map +0 -1
  306. package/dist/chunk-CNDSIADP.js +0 -2
  307. package/dist/chunk-DPWL4KNA.js.map +0 -1
  308. package/dist/chunk-DXFA52BU.js +0 -2
  309. package/dist/chunk-DXFA52BU.js.map +0 -1
  310. package/dist/chunk-DXIO72S4.js +0 -2
  311. package/dist/chunk-DXIO72S4.js.map +0 -1
  312. package/dist/chunk-DYB3RWP7.js +0 -20
  313. package/dist/chunk-DYB3RWP7.js.map +0 -1
  314. package/dist/chunk-DZ2R72O5.js +0 -2
  315. package/dist/chunk-E4CABUTS.js +0 -2
  316. package/dist/chunk-E4CABUTS.js.map +0 -1
  317. package/dist/chunk-FRTJ4KWA.js.map +0 -1
  318. package/dist/chunk-GCJCNDJ3.js +0 -2
  319. package/dist/chunk-GCJCNDJ3.js.map +0 -1
  320. package/dist/chunk-GKD2WI2W.js +0 -2
  321. package/dist/chunk-GKD2WI2W.js.map +0 -1
  322. package/dist/chunk-GOGPCCBS.js +0 -2
  323. package/dist/chunk-GOGPCCBS.js.map +0 -1
  324. package/dist/chunk-HO2TIG7R.js +0 -2
  325. package/dist/chunk-HO2TIG7R.js.map +0 -1
  326. package/dist/chunk-HPHWQU34.js +0 -2
  327. package/dist/chunk-HPHWQU34.js.map +0 -1
  328. package/dist/chunk-HZDCZFR5.js.map +0 -1
  329. package/dist/chunk-IHNYOUXP.js +0 -2
  330. package/dist/chunk-IHNYOUXP.js.map +0 -1
  331. package/dist/chunk-K2BWF2HC.js +0 -2
  332. package/dist/chunk-K2BWF2HC.js.map +0 -1
  333. package/dist/chunk-LV5R6H3D.js +0 -2
  334. package/dist/chunk-M2CI2UDK.js +0 -2
  335. package/dist/chunk-M2CI2UDK.js.map +0 -1
  336. package/dist/chunk-MQWVZSGH.js +0 -2
  337. package/dist/chunk-MQWVZSGH.js.map +0 -1
  338. package/dist/chunk-MZB24YJP.js.map +0 -1
  339. package/dist/chunk-OKM7DRCF.js +0 -2
  340. package/dist/chunk-P7JZC65P.js +0 -2
  341. package/dist/chunk-P7JZC65P.js.map +0 -1
  342. package/dist/chunk-Q4BKFSTW.js +0 -2
  343. package/dist/chunk-Q4BKFSTW.js.map +0 -1
  344. package/dist/chunk-QWJFYQK3.js +0 -2
  345. package/dist/chunk-QWJFYQK3.js.map +0 -1
  346. package/dist/chunk-SHP4ULHS.js +0 -2
  347. package/dist/chunk-SHP4ULHS.js.map +0 -1
  348. package/dist/chunk-SPQO42TA.js +0 -2
  349. package/dist/chunk-SPQO42TA.js.map +0 -1
  350. package/dist/chunk-SRRY72CZ.js +0 -2
  351. package/dist/chunk-SRRY72CZ.js.map +0 -1
  352. package/dist/chunk-THMWKOHC.js +0 -2
  353. package/dist/chunk-THMWKOHC.js.map +0 -1
  354. package/dist/chunk-TWVFLXVF.js +0 -2
  355. package/dist/chunk-U4JVXNOG.js +0 -2
  356. package/dist/chunk-U4JVXNOG.js.map +0 -1
  357. package/dist/chunk-WBRWVTZK.js +0 -2
  358. package/dist/chunk-WBRWVTZK.js.map +0 -1
  359. package/dist/chunk-WJ6YJFD4.js +0 -2
  360. package/dist/chunk-WJ6YJFD4.js.map +0 -1
  361. package/dist/chunk-WMPKW7HC.js +0 -2
  362. package/dist/chunk-WMPKW7HC.js.map +0 -1
  363. package/dist/chunk-WW5UCMQZ.js +0 -2
  364. package/dist/chunk-WW5UCMQZ.js.map +0 -1
  365. package/dist/chunk-WXUIXZ7P.js +0 -2
  366. package/dist/chunk-WXUIXZ7P.js.map +0 -1
  367. package/dist/chunk-XNOLBKZC.js +0 -2
  368. package/dist/chunk-XNOLBKZC.js.map +0 -1
  369. package/dist/chunk-XPL5XOQ4.js +0 -2
  370. package/dist/chunk-XPL5XOQ4.js.map +0 -1
  371. package/dist/chunk-XPOLXRYT.js +0 -2
  372. package/dist/chunk-XPOLXRYT.js.map +0 -1
  373. package/dist/chunk-YDJVQRND.js +0 -2
  374. package/dist/chunk-YDJVQRND.js.map +0 -1
  375. package/dist/chunk-Z3BMF4BO.js +0 -1
  376. package/dist/chunk-ZE3YT3Q6.js +0 -2
  377. package/dist/chunk-ZE3YT3Q6.js.map +0 -1
  378. package/dist/chunk-ZSCKSEAA.js +0 -2
  379. package/dist/chunk-ZSCKSEAA.js.map +0 -1
  380. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.d.ts +0 -8
  381. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +0 -2
  382. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js.map +0 -1
  383. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.d.ts +0 -16
  384. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +0 -2
  385. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js.map +0 -1
  386. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.d.ts +0 -16
  387. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +0 -2
  388. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js.map +0 -1
  389. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.d.ts +0 -16
  390. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js +0 -2
  391. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js.map +0 -1
  392. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.d.ts +0 -10
  393. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +0 -2
  394. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js.map +0 -1
  395. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.d.ts +0 -9
  396. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.js +0 -2
  397. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.js.map +0 -1
  398. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +0 -19
  399. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +0 -2
  400. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js.map +0 -1
  401. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.d.ts +0 -13
  402. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +0 -2
  403. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +0 -1
  404. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.d.ts +0 -9
  405. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +0 -2
  406. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js.map +0 -1
  407. package/dist/flows/CostCalculator/disclaimerUtils.d.ts +0 -10
  408. package/dist/flows/CostCalculator/disclaimerUtils.js +0 -2
  409. package/dist/flows/CostCalculator/disclaimerUtils.js.map +0 -1
  410. /package/dist/{chunk-L3D2AK3X.js.map → chunk-3JKQNLJQ.js.map} +0 -0
  411. /package/dist/{chunk-5AG4K2EA.js.map → chunk-3SAV2OEE.js.map} +0 -0
  412. /package/dist/{chunk-QIQTM4HB.js.map → chunk-4GDEWYZC.js.map} +0 -0
  413. /package/dist/{chunk-UPXJJBXZ.js.map → chunk-6YXSWOKH.js.map} +0 -0
  414. /package/dist/{chunk-PD24XKD6.js.map → chunk-72OH7PSF.js.map} +0 -0
  415. /package/dist/{chunk-7VOQAVM4.js.map → chunk-AT7VHJMW.js.map} +0 -0
  416. /package/dist/{chunk-DPY77ASH.js.map → chunk-BFMUZP2O.js.map} +0 -0
  417. /package/dist/{chunk-6FWFRVQE.js.map → chunk-BHE7NDIR.js.map} +0 -0
  418. /package/dist/{chunk-DTHBG6BD.js.map → chunk-EC7QVRRX.js.map} +0 -0
  419. /package/dist/{chunk-Z3BMF4BO.js.map → chunk-FGBEOUQK.js.map} +0 -0
  420. /package/dist/{chunk-H425RKFI.js.map → chunk-FZDQ7EEI.js.map} +0 -0
  421. /package/dist/{chunk-ENW4DCDU.js.map → chunk-G7N277WY.js.map} +0 -0
  422. /package/dist/{chunk-QIVDIOJG.js.map → chunk-I4XJ764Y.js.map} +0 -0
  423. /package/dist/{chunk-EM5UYWUQ.js.map → chunk-J6QOM4P4.js.map} +0 -0
  424. /package/dist/{chunk-HBHVB56P.js.map → chunk-JCYNAEWF.js.map} +0 -0
  425. /package/dist/{chunk-ANGJCT4I.js.map → chunk-K3PHODKN.js.map} +0 -0
  426. /package/dist/{chunk-WVDTHFGS.js.map → chunk-LJGCFFAT.js.map} +0 -0
  427. /package/dist/{chunk-COBQ4WSJ.js.map → chunk-LOZIGR3Z.js.map} +0 -0
  428. /package/dist/{chunk-ZQ6MG635.js.map → chunk-MDDI5GLL.js.map} +0 -0
  429. /package/dist/{chunk-ID3ZF7QT.js.map → chunk-MKE27NUF.js.map} +0 -0
  430. /package/dist/{chunk-AFRA4BIW.js.map → chunk-MXLQEDRJ.js.map} +0 -0
  431. /package/dist/{chunk-LQAHRGU4.js.map → chunk-MZKA5DYP.js.map} +0 -0
  432. /package/dist/{chunk-BV3PGYSH.js.map → chunk-ND4FAALX.js.map} +0 -0
  433. /package/dist/{chunk-IUEXOXFA.js.map → chunk-NS4FRCEH.js.map} +0 -0
  434. /package/dist/{chunk-SO3YQ4WT.js.map → chunk-OMRLBAVD.js.map} +0 -0
  435. /package/dist/{chunk-MQ6F5LE4.js.map → chunk-PMTKQME6.js.map} +0 -0
  436. /package/dist/{chunk-CW3MAP5L.js.map → chunk-QGGFY3DW.js.map} +0 -0
  437. /package/dist/{chunk-OW5QGJD4.js.map → chunk-QH4EGUER.js.map} +0 -0
  438. /package/dist/{chunk-P5WUODPR.js.map → chunk-QP3VWGCS.js.map} +0 -0
  439. /package/dist/{chunk-5ZR7EFPY.js.map → chunk-QP5V46OP.js.map} +0 -0
  440. /package/dist/{chunk-Q2N5SOKO.js.map → chunk-QUQLW5YW.js.map} +0 -0
  441. /package/dist/{chunk-5KHLOGTR.js.map → chunk-RPTB2HUM.js.map} +0 -0
  442. /package/dist/{chunk-6VRUYYUV.js.map → chunk-STPJXT2A.js.map} +0 -0
  443. /package/dist/{chunk-TWIUL2P3.js.map → chunk-UOOUV52J.js.map} +0 -0
  444. /package/dist/{chunk-X6CD3FMG.js.map → chunk-W57XSVXY.js.map} +0 -0
  445. /package/dist/{chunk-OKM7DRCF.js.map → chunk-XOA7GG4P.js.map} +0 -0
  446. /package/dist/{chunk-UJKTTTGB.js.map → chunk-YSOGGVBO.js.map} +0 -0
  447. /package/dist/{chunk-OIN3HGOQ.js.map → chunk-YWZI5KJN.js.map} +0 -0
  448. /package/dist/{chunk-EKKRQI6B.js.map → chunk-ZKINPHYU.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{a as dt}from"./chunk-MQ6F5LE4.js";import{a as fe,e as ct}from"./chunk-43WMZDDH.js";import{a}from"./chunk-P37U34EQ.js";import v from"react";var pe=a(e=>e.type==="checkbox","isCheckBoxInput"),de=a(e=>e instanceof Date,"isDateObject"),z=a(e=>e==null,"isNullOrUndefined"),vt=a(e=>typeof e=="object","isObjectType"),P=a(e=>!z(e)&&!Array.isArray(e)&&vt(e)&&!de(e),"isObject"),bt=a(e=>P(e)&&e.target?pe(e.target)?e.target.checked:e.target.value:e,"getEventValue"),Kt=a(e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,"getNodeParentName"),Vt=a((e,r)=>e.has(Kt(r)),"isNameInFieldArray"),zt=a(e=>{let r=e.constructor&&e.constructor.prototype;return P(r)&&r.hasOwnProperty("isPrototypeOf")},"isPlainObject"),Ge=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function N(e){let r,t=Array.isArray(e),s=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)r=new Date(e);else if(e instanceof Set)r=new Set(e);else if(!(Ge&&(e instanceof Blob||s))&&(t||P(e)))if(r=t?[]:{},!t&&!zt(e))r=e;else for(let o in e)e.hasOwnProperty(o)&&(r[o]=N(e[o]));else return e;return r}a(N,"cloneObject");var xe=a(e=>Array.isArray(e)?e.filter(Boolean):[],"compact"),R=a(e=>e===void 0,"isUndefined"),d=a((e,r,t)=>{if(!r||!P(e))return t;let s=xe(r.split(/[,[\].]+?/)).reduce((o,u)=>z(o)?o:o[u],e);return R(s)||s===e?R(e[r])?t:e[r]:s},"get"),Q=a(e=>typeof e=="boolean","isBoolean"),Qe=a(e=>/^\w*$/.test(e),"isKey"),pt=a(e=>xe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),"stringToPath"),E=a((e,r,t)=>{let s=-1,o=Qe(r)?[r]:pt(r),u=o.length,y=u-1;for(;++s<u;){let g=o[s],V=t;if(s!==y){let S=e[g];V=P(S)||Array.isArray(S)?S:isNaN(+o[s+1])?{}:[]}if(g==="__proto__"||g==="constructor"||g==="prototype")return;e[g]=V,e=e[g]}return e},"set"),Se={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Y={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ae={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},xt=v.createContext(null),ge=a(()=>v.useContext(xt),"useFormContext"),At=a(e=>{let{children:r,...t}=e;return v.createElement(xt.Provider,{value:t},r)},"FormProvider"),St=a((e,r,t,s=!0)=>{let o={defaultValues:r._defaultValues};for(let u in e)Object.defineProperty(o,u,{get:a(()=>{let y=u;return r._proxyFormState[y]!==Y.all&&(r._proxyFormState[y]=!s||Y.all),t&&(t[y]=!0),e[y]},"get")});return o},"getProxyFormState"),K=a(e=>P(e)&&!Object.keys(e).length,"isEmptyObject"),wt=a((e,r,t,s)=>{t(e);let{name:o,...u}=e;return K(u)||Object.keys(u).length>=Object.keys(r).length||Object.keys(u).find(y=>r[y]===(!s||Y.all))},"shouldRenderFormState"),J=a(e=>Array.isArray(e)?e:[e],"convertToArrayPayload"),Ct=a((e,r,t)=>!e||!r||e===r||J(e).some(s=>s&&(t?s===r:s.startsWith(r)||r.startsWith(s))),"shouldSubscribeByName");function Ee(e){let r=v.useRef(e);r.current=e,v.useEffect(()=>{let t=!e.disabled&&r.current.subject&&r.current.subject.subscribe({next:r.current.next});return()=>{t&&t.unsubscribe()}},[e.disabled])}a(Ee,"useSubscribe");function Ye(e){let r=ge(),{control:t=r.control,disabled:s,name:o,exact:u}=e||{},[y,g]=v.useState(t._formState),V=v.useRef(!0),S=v.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),w=v.useRef(o);return w.current=o,Ee({disabled:s,next:a(b=>V.current&&Ct(w.current,b.name,u)&&wt(b,S.current,t._updateFormState)&&g({...t._formState,...b}),"next"),subject:t._subjects.state}),v.useEffect(()=>(V.current=!0,S.current.isValid&&t._updateValid(!0),()=>{V.current=!1}),[t]),v.useMemo(()=>St(y,t,S.current,!1),[y,t])}a(Ye,"useFormState");var se=a(e=>typeof e=="string","isString"),Dt=a((e,r,t,s,o)=>se(e)?(s&&r.watch.add(e),d(t,e,o)):Array.isArray(e)?e.map(u=>(s&&r.watch.add(u),d(t,u))):(s&&(r.watchAll=!0),t),"generateWatchOutput");function Jt(e){let r=ge(),{control:t=r.control,name:s,defaultValue:o,disabled:u,exact:y}=e||{},g=v.useRef(s);g.current=s,Ee({disabled:u,subject:t._subjects.values,next:a(w=>{Ct(g.current,w.name,y)&&S(N(Dt(g.current,t._names,w.values||t._formValues,!1,o)))},"next")});let[V,S]=v.useState(t._getWatch(s,o));return v.useEffect(()=>t._removeUnmounted()),V}a(Jt,"useWatch");function Gt(e){let r=ge(),{name:t,disabled:s,control:o=r.control,shouldUnregister:u}=e,y=Vt(o._names.array,t),g=Jt({control:o,name:t,defaultValue:d(o._formValues,t,d(o._defaultValues,t,e.defaultValue)),exact:!0}),V=Ye({control:o,name:t,exact:!0}),S=v.useRef(o.register(t,{...e.rules,value:g,...Q(e.disabled)?{disabled:e.disabled}:{}})),w=v.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:a(()=>!!d(V.errors,t),"get")},isDirty:{enumerable:!0,get:a(()=>!!d(V.dirtyFields,t),"get")},isTouched:{enumerable:!0,get:a(()=>!!d(V.touchedFields,t),"get")},isValidating:{enumerable:!0,get:a(()=>!!d(V.validatingFields,t),"get")},error:{enumerable:!0,get:a(()=>d(V.errors,t),"get")}}),[V,t]),b=v.useMemo(()=>({name:t,value:g,...Q(s)||V.disabled?{disabled:V.disabled||s}:{},onChange:a(O=>S.current.onChange({target:{value:bt(O),name:t},type:Se.CHANGE}),"onChange"),onBlur:a(()=>S.current.onBlur({target:{value:d(o._formValues,t),name:t},type:Se.BLUR}),"onBlur"),ref:a(O=>{let k=d(o._fields,t);k&&O&&(k._f.ref={focus:a(()=>O.focus(),"focus"),select:a(()=>O.select(),"select"),setCustomValidity:a(U=>O.setCustomValidity(U),"setCustomValidity"),reportValidity:a(()=>O.reportValidity(),"reportValidity")})},"ref")}),[t,o._formValues,s,V.disabled,g,o._fields]);return v.useEffect(()=>{let O=o._options.shouldUnregister||u,k=a((U,W)=>{let H=d(o._fields,U);H&&H._f&&(H._f.mount=W)},"updateMounted");if(k(t,!0),O){let U=N(d(o._options.defaultValues,t));E(o._defaultValues,t,U),R(d(o._formValues,t))&&E(o._formValues,t,U)}return!y&&o.register(t),()=>{(y?O&&!o._state.action:O)?o.unregister(t):k(t,!1)}},[t,o,y,u]),v.useEffect(()=>{o._updateDisabledField({disabled:s,fields:o._fields,name:t})},[s,t,o]),v.useMemo(()=>({field:b,formState:V,fieldState:w}),[b,V,w])}a(Gt,"useController");var Et=a(e=>e.render(Gt(e)),"Controller");var Qt=a((e,r,t,s,o)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[s]:o||!0}}:{},"appendErrors"),le=a(()=>{let e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{let t=(Math.random()*16+e)%16|0;return(r=="x"?t:t&3|8).toString(16)})},"generateId"),Oe=a((e,r,t={})=>t.shouldFocus||R(t.shouldFocus)?t.focusName||`${e}.${R(t.focusIndex)?r:t.focusIndex}.`:"","getFocusFieldName"),Ve=a(e=>({isOnSubmit:!e||e===Y.onSubmit,isOnBlur:e===Y.onBlur,isOnChange:e===Y.onChange,isOnAll:e===Y.all,isOnTouch:e===Y.onTouched}),"getValidationModes"),Ke=a((e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(s=>e.startsWith(s)&&/^\.\w+/.test(e.slice(s.length)))),"isWatched"),me=a((e,r,t,s)=>{for(let o of t||Object.keys(e)){let u=d(e,o);if(u){let{_f:y,...g}=u;if(y){if(y.refs&&y.refs[0]&&r(y.refs[0],o)&&!s)return!0;if(y.ref&&r(y.ref,y.name)&&!s)return!0;if(me(g,r))break}else if(P(g)&&me(g,r))break}}},"iterateFieldsByAction"),kt=a((e,r,t)=>{let s=J(d(e,t));return E(s,"root",r[t]),E(e,t,s),e},"updateFieldArrayRootError"),Xe=a(e=>e.type==="file","isFileInput"),re=a(e=>typeof e=="function","isFunction"),we=a(e=>{if(!Ge)return!1;let r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},"isHTMLElement"),Ae=a(e=>se(e),"isMessage"),Ze=a(e=>e.type==="radio","isRadioInput"),Ce=a(e=>e instanceof RegExp,"isRegex"),ft={value:!1,isValid:!1},yt={value:!0,isValid:!0},Rt=a(e=>{if(Array.isArray(e)){if(e.length>1){let r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!R(e[0].attributes.value)?R(e[0].value)||e[0].value===""?yt:{value:e[0].value,isValid:!0}:yt:ft}return ft},"getCheckboxValue"),mt={isValid:!1,value:null},Tt=a(e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,mt):mt,"getRadioValue");function gt(e,r,t="validate"){if(Ae(e)||Array.isArray(e)&&e.every(Ae)||Q(e)&&!e)return{type:t,message:Ae(e)?e:"",ref:r}}a(gt,"getValidateError");var ye=a(e=>P(e)&&!Ce(e)?e:{value:e,message:""},"getValueAndMessage"),ze=a(async(e,r,t,s,o,u)=>{let{ref:y,refs:g,required:V,maxLength:S,minLength:w,min:b,max:O,pattern:k,validate:U,name:W,valueAsNumber:H,mount:te}=e._f,C=d(t,W);if(!te||r.has(W))return{};let X=g?g[0]:y,Z=a(A=>{o&&X.reportValidity&&(X.setCustomValidity(Q(A)?"":A||""),X.reportValidity())},"setCustomValidity"),I={},h=Ze(y),F=pe(y),p=h||F,T=(H||Xe(y))&&R(y.value)&&R(C)||we(y)&&y.value===""||C===""||Array.isArray(C)&&!C.length,B=Qt.bind(null,W,s,I),ce=a((A,D,M,q=ae.maxLength,ee=ae.minLength)=>{let G=A?D:M;I[W]={type:A?q:ee,message:G,ref:y,...B(A?q:ee,G)}},"getMinMaxMessage");if(u?!Array.isArray(C)||!C.length:V&&(!p&&(T||z(C))||Q(C)&&!C||F&&!Rt(g).isValid||h&&!Tt(g).isValid)){let{value:A,message:D}=Ae(V)?{value:!!V,message:V}:ye(V);if(A&&(I[W]={type:ae.required,message:D,ref:X,...B(ae.required,D)},!s))return Z(D),I}if(!T&&(!z(b)||!z(O))){let A,D,M=ye(O),q=ye(b);if(!z(C)&&!isNaN(C)){let ee=y.valueAsNumber||C&&+C;z(M.value)||(A=ee>M.value),z(q.value)||(D=ee<q.value)}else{let ee=y.valueAsDate||new Date(C),G=a(Fe=>new Date(new Date().toDateString()+" "+Fe),"convertTimeToDate"),_e=y.type=="time",he=y.type=="week";se(M.value)&&C&&(A=_e?G(C)>G(M.value):he?C>M.value:ee>new Date(M.value)),se(q.value)&&C&&(D=_e?G(C)<G(q.value):he?C<q.value:ee<new Date(q.value))}if((A||D)&&(ce(!!A,M.message,q.message,ae.max,ae.min),!s))return Z(I[W].message),I}if((S||w)&&!T&&(se(C)||u&&Array.isArray(C))){let A=ye(S),D=ye(w),M=!z(A.value)&&C.length>+A.value,q=!z(D.value)&&C.length<+D.value;if((M||q)&&(ce(M,A.message,D.message),!s))return Z(I[W].message),I}if(k&&!T&&se(C)){let{value:A,message:D}=ye(k);if(Ce(A)&&!C.match(A)&&(I[W]={type:ae.pattern,message:D,ref:y,...B(ae.pattern,D)},!s))return Z(D),I}if(U){if(re(U)){let A=await U(C,t),D=gt(A,X);if(D&&(I[W]={...D,...B(ae.validate,D.message)},!s))return Z(D.message),I}else if(P(U)){let A={};for(let D in U){if(!K(A)&&!s)break;let M=gt(await U[D](C,t),X,D);M&&(A={...M,...B(D,M.message)},Z(M.message),s&&(I[W]=A))}if(!K(A)&&(I[W]={ref:X,...A},!s))return I}}return Z(!0),I},"validateField"),Le=a((e,r)=>[...e,...J(r)],"appendAt"),Me=a(e=>Array.isArray(e)?e.map(()=>{}):void 0,"fillEmptyArray");function Ne(e,r,t){return[...e.slice(0,r),...J(t),...e.slice(r)]}a(Ne,"insert");var Ue=a((e,r,t)=>Array.isArray(e)?(R(e[t])&&(e[t]=void 0),e.splice(t,0,e.splice(r,1)[0]),e):[],"moveArrayAt"),Be=a((e,r)=>[...J(r),...J(e)],"prependAt");function Yt(e,r){let t=0,s=[...e];for(let o of r)s.splice(o-t,1),t++;return xe(s).length?s:[]}a(Yt,"removeAtIndexes");var $e=a((e,r)=>R(r)?[]:Yt(e,J(r).sort((t,s)=>t-s)),"removeArrayAt"),je=a((e,r,t)=>{[e[r],e[t]]=[e[t],e[r]]},"swapArrayAt");function Xt(e,r){let t=r.slice(0,-1).length,s=0;for(;s<t;)e=R(e)?s++:e[r[s++]];return e}a(Xt,"baseGet");function Zt(e){for(let r in e)if(e.hasOwnProperty(r)&&!R(e[r]))return!1;return!0}a(Zt,"isEmptyArray");function L(e,r){let t=Array.isArray(r)?r:Qe(r)?[r]:pt(r),s=t.length===1?e:Xt(e,t),o=t.length-1,u=t[o];return s&&delete s[u],o!==0&&(P(s)&&K(s)||Array.isArray(s)&&Zt(s))&&L(e,t.slice(0,-1)),e}a(L,"unset");var _t=a((e,r,t)=>(e[r]=t,e),"updateAt");function mr(e){let r=ge(),{control:t=r.control,name:s,keyName:o="id",shouldUnregister:u,rules:y}=e,[g,V]=v.useState(t._getFieldArray(s)),S=v.useRef(t._getFieldArray(s).map(le)),w=v.useRef(g),b=v.useRef(s),O=v.useRef(!1);b.current=s,w.current=g,t._names.array.add(s),y&&t.register(s,y),Ee({next:a(({values:h,name:F})=>{if(F===b.current||!F){let p=d(h,b.current);Array.isArray(p)&&(V(p),S.current=p.map(le))}},"next"),subject:t._subjects.array});let k=v.useCallback(h=>{O.current=!0,t._updateFieldArray(s,h)},[t,s]),U=a((h,F)=>{let p=J(N(h)),T=Le(t._getFieldArray(s),p);t._names.focus=Oe(s,T.length-1,F),S.current=Le(S.current,p.map(le)),k(T),V(T),t._updateFieldArray(s,T,Le,{argA:Me(h)})},"append"),W=a((h,F)=>{let p=J(N(h)),T=Be(t._getFieldArray(s),p);t._names.focus=Oe(s,0,F),S.current=Be(S.current,p.map(le)),k(T),V(T),t._updateFieldArray(s,T,Be,{argA:Me(h)})},"prepend"),H=a(h=>{let F=$e(t._getFieldArray(s),h);S.current=$e(S.current,h),k(F),V(F),!Array.isArray(d(t._fields,s))&&E(t._fields,s,void 0),t._updateFieldArray(s,F,$e,{argA:h})},"remove"),te=a((h,F,p)=>{let T=J(N(F)),B=Ne(t._getFieldArray(s),h,T);t._names.focus=Oe(s,h,p),S.current=Ne(S.current,h,T.map(le)),k(B),V(B),t._updateFieldArray(s,B,Ne,{argA:h,argB:Me(F)})},"insert$1"),C=a((h,F)=>{let p=t._getFieldArray(s);je(p,h,F),je(S.current,h,F),k(p),V(p),t._updateFieldArray(s,p,je,{argA:h,argB:F},!1)},"swap"),X=a((h,F)=>{let p=t._getFieldArray(s);Ue(p,h,F),Ue(S.current,h,F),k(p),V(p),t._updateFieldArray(s,p,Ue,{argA:h,argB:F},!1)},"move"),Z=a((h,F)=>{let p=N(F),T=_t(t._getFieldArray(s),h,p);S.current=[...T].map((B,ce)=>!B||ce===h?le():S.current[ce]),k(T),V([...T]),t._updateFieldArray(s,T,_t,{argA:h,argB:p},!0,!1)},"update"),I=a(h=>{let F=J(N(h));S.current=F.map(le),k([...F]),V([...F]),t._updateFieldArray(s,[...F],p=>p,{},!0,!1)},"replace");return v.useEffect(()=>{if(t._state.action=!1,Ke(s,t._names)&&t._subjects.state.next({...t._formState}),O.current&&(!Ve(t._options.mode).isOnSubmit||t._formState.isSubmitted))if(t._options.resolver)t._executeSchema([s]).then(h=>{let F=d(h.errors,s),p=d(t._formState.errors,s);(p?!F&&p.type||F&&(p.type!==F.type||p.message!==F.message):F&&F.type)&&(F?E(t._formState.errors,s,F):L(t._formState.errors,s),t._subjects.state.next({errors:t._formState.errors}))});else{let h=d(t._fields,s);h&&h._f&&!(Ve(t._options.reValidateMode).isOnSubmit&&Ve(t._options.mode).isOnSubmit)&&ze(h,t._names.disabled,t._formValues,t._options.criteriaMode===Y.all,t._options.shouldUseNativeValidation,!0).then(F=>!K(F)&&t._subjects.state.next({errors:kt(t._formState.errors,F,s)}))}t._subjects.values.next({name:s,values:{...t._formValues}}),t._names.focus&&me(t._fields,(h,F)=>{if(t._names.focus&&F.startsWith(t._names.focus)&&h.focus)return h.focus(),1}),t._names.focus="",t._updateValid(),O.current=!1},[g,s,t]),v.useEffect(()=>(!d(t._formValues,s)&&t._updateFieldArray(s),()=>{(t._options.shouldUnregister||u)&&t.unregister(s)}),[s,t,o,u]),{swap:v.useCallback(C,[k,s,t]),move:v.useCallback(X,[k,s,t]),prepend:v.useCallback(W,[k,s,t]),append:v.useCallback(U,[k,s,t]),remove:v.useCallback(H,[k,s,t]),insert:v.useCallback(te,[k,s,t]),update:v.useCallback(Z,[k,s,t]),replace:v.useCallback(I,[k,s,t]),fields:v.useMemo(()=>g.map((h,F)=>({...h,[o]:S.current[F]||le()})),[g,o])}}a(mr,"useFieldArray");var We=a(()=>{let e=[];return{get observers(){return e},next:a(o=>{for(let u of e)u.next&&u.next(o)},"next"),subscribe:a(o=>(e.push(o),{unsubscribe:a(()=>{e=e.filter(u=>u!==o)},"unsubscribe")}),"subscribe"),unsubscribe:a(()=>{e=[]},"unsubscribe")}},"createSubject"),Je=a(e=>z(e)||!vt(e),"isPrimitive");function ue(e,r){if(Je(e)||Je(r))return e===r;if(de(e)&&de(r))return e.getTime()===r.getTime();let t=Object.keys(e),s=Object.keys(r);if(t.length!==s.length)return!1;for(let o of t){let u=e[o];if(!s.includes(o))return!1;if(o!=="ref"){let y=r[o];if(de(u)&&de(y)||P(u)&&P(y)||Array.isArray(u)&&Array.isArray(y)?!ue(u,y):u!==y)return!1}}return!0}a(ue,"deepEqual");var It=a(e=>e.type==="select-multiple","isMultipleSelect"),er=a(e=>Ze(e)||pe(e),"isRadioOrCheckbox"),qe=a(e=>we(e)&&e.isConnected,"live"),Pt=a(e=>{for(let r in e)if(re(e[r]))return!0;return!1},"objectHasFunction");function De(e,r={}){let t=Array.isArray(e);if(P(e)||t)for(let s in e)Array.isArray(e[s])||P(e[s])&&!Pt(e[s])?(r[s]=Array.isArray(e[s])?[]:{},De(e[s],r[s])):z(e[s])||(r[s]=!0);return r}a(De,"markFieldsDirty");function Ot(e,r,t){let s=Array.isArray(e);if(P(e)||s)for(let o in e)Array.isArray(e[o])||P(e[o])&&!Pt(e[o])?R(r)||Je(t[o])?t[o]=Array.isArray(e[o])?De(e[o],[]):{...De(e[o])}:Ot(e[o],z(r)?{}:r[o],t[o]):t[o]=!ue(e[o],r[o]);return t}a(Ot,"getDirtyFieldsFromDefaultValues");var ve=a((e,r)=>Ot(e,r,De(r)),"getDirtyFields"),Lt=a((e,{valueAsNumber:r,valueAsDate:t,setValueAs:s})=>R(e)?e:r?e===""?NaN:e&&+e:t&&se(e)?new Date(e):s?s(e):e,"getFieldValueAs");function He(e){let r=e.ref;return Xe(r)?r.files:Ze(r)?Tt(e.refs).value:It(r)?[...r.selectedOptions].map(({value:t})=>t):pe(r)?Rt(e.refs).value:Lt(R(r.value)?e.ref.value:r.value,e)}a(He,"getFieldValue");var tr=a((e,r,t,s)=>{let o={};for(let u of e){let y=d(r,u);y&&E(o,u,y._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:s}},"getResolverOptions"),be=a(e=>R(e)?e:Ce(e)?e.source:P(e)?Ce(e.value)?e.value.source:e.value:e,"getRuleValue"),ht="AsyncFunction",rr=a(e=>!!e&&!!e.validate&&!!(re(e.validate)&&e.validate.constructor.name===ht||P(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===ht)),"hasPromiseValidation"),sr=a(e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),"hasValidation");function Ft(e,r,t){let s=d(e,t);if(s||Qe(t))return{error:s,name:t};let o=t.split(".");for(;o.length;){let u=o.join("."),y=d(r,u),g=d(e,u);if(y&&!Array.isArray(y)&&t!==u)return{name:t};if(g&&g.type)return{name:u,error:g};o.pop()}return{name:t}}a(Ft,"schemaErrorLookup");var ir=a((e,r,t,s,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(r||e):(t?s.isOnBlur:o.isOnBlur)?!e:(t?s.isOnChange:o.isOnChange)?e:!0,"skipValidation"),ar=a((e,r)=>!xe(d(e,r)).length&&L(e,r),"unsetEmptyArray"),nr={mode:Y.onSubmit,reValidateMode:Y.onChange,shouldFocusError:!0};function or(e={}){let r={...nr,...e},t={submitCount:0,isDirty:!1,isLoading:re(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},s={},o=P(r.defaultValues)||P(r.values)?N(r.defaultValues||r.values)||{}:{},u=r.shouldUnregister?{}:N(o),y={action:!1,mount:!1,watch:!1},g={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},V,S=0,w={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={values:We(),array:We(),state:We()},O=Ve(r.mode),k=Ve(r.reValidateMode),U=r.criteriaMode===Y.all,W=a(i=>n=>{clearTimeout(S),S=setTimeout(i,n)},"debounce"),H=a(async i=>{if(!r.disabled&&(w.isValid||i)){let n=r.resolver?K((await p()).errors):await B(s,!0);n!==t.isValid&&b.state.next({isValid:n})}},"_updateValid"),te=a((i,n)=>{!r.disabled&&(w.isValidating||w.validatingFields)&&((i||Array.from(g.mount)).forEach(l=>{l&&(n?E(t.validatingFields,l,n):L(t.validatingFields,l))}),b.state.next({validatingFields:t.validatingFields,isValidating:!K(t.validatingFields)}))},"_updateIsValidating"),C=a((i,n=[],l,m,f=!0,c=!0)=>{if(m&&l&&!r.disabled){if(y.action=!0,c&&Array.isArray(d(s,i))){let _=l(d(s,i),m.argA,m.argB);f&&E(s,i,_)}if(c&&Array.isArray(d(t.errors,i))){let _=l(d(t.errors,i),m.argA,m.argB);f&&E(t.errors,i,_),ar(t.errors,i)}if(w.touchedFields&&c&&Array.isArray(d(t.touchedFields,i))){let _=l(d(t.touchedFields,i),m.argA,m.argB);f&&E(t.touchedFields,i,_)}w.dirtyFields&&(t.dirtyFields=ve(o,u)),b.state.next({name:i,isDirty:A(i,n),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else E(u,i,n)},"_updateFieldArray"),X=a((i,n)=>{E(t.errors,i,n),b.state.next({errors:t.errors})},"updateErrors"),Z=a(i=>{t.errors=i,b.state.next({errors:t.errors,isValid:!1})},"_setErrors"),I=a((i,n,l,m)=>{let f=d(s,i);if(f){let c=d(u,i,R(l)?d(o,i):l);R(c)||m&&m.defaultChecked||n?E(u,i,n?c:He(f._f)):q(i,c),y.mount&&H()}},"updateValidAndValue"),h=a((i,n,l,m,f)=>{let c=!1,_=!1,x={name:i};if(!r.disabled){let $=!!(d(s,i)&&d(s,i)._f&&d(s,i)._f.disabled);if(!l||m){w.isDirty&&(_=t.isDirty,t.isDirty=x.isDirty=A(),c=_!==x.isDirty);let j=$||ue(d(o,i),n);_=!!(!$&&d(t.dirtyFields,i)),j||$?L(t.dirtyFields,i):E(t.dirtyFields,i,!0),x.dirtyFields=t.dirtyFields,c=c||w.dirtyFields&&_!==!j}if(l){let j=d(t.touchedFields,i);j||(E(t.touchedFields,i,l),x.touchedFields=t.touchedFields,c=c||w.touchedFields&&j!==l)}c&&f&&b.state.next(x)}return c?x:{}},"updateTouchAndDirty"),F=a((i,n,l,m)=>{let f=d(t.errors,i),c=w.isValid&&Q(n)&&t.isValid!==n;if(r.delayError&&l?(V=W(()=>X(i,l)),V(r.delayError)):(clearTimeout(S),V=null,l?E(t.errors,i,l):L(t.errors,i)),(l?!ue(f,l):f)||!K(m)||c){let _={...m,...c&&Q(n)?{isValid:n}:{},errors:t.errors,name:i};t={...t,..._},b.state.next(_)}},"shouldRenderByError"),p=a(async i=>{te(i,!0);let n=await r.resolver(u,r.context,tr(i||g.mount,s,r.criteriaMode,r.shouldUseNativeValidation));return te(i),n},"_executeSchema"),T=a(async i=>{let{errors:n}=await p(i);if(i)for(let l of i){let m=d(n,l);m?E(t.errors,l,m):L(t.errors,l)}else t.errors=n;return n},"executeSchemaAndUpdateState"),B=a(async(i,n,l={valid:!0})=>{for(let m in i){let f=i[m];if(f){let{_f:c,..._}=f;if(c){let x=g.array.has(c.name),$=f._f&&rr(f._f);$&&w.validatingFields&&te([m],!0);let j=await ze(f,g.disabled,u,U,r.shouldUseNativeValidation&&!n,x);if($&&w.validatingFields&&te([m]),j[c.name]&&(l.valid=!1,n))break;!n&&(d(j,c.name)?x?kt(t.errors,j,c.name):E(t.errors,c.name,j[c.name]):L(t.errors,c.name))}!K(_)&&await B(_,n,l)}}return l.valid},"executeBuiltInValidation"),ce=a(()=>{for(let i of g.unMount){let n=d(s,i);n&&(n._f.refs?n._f.refs.every(l=>!qe(l)):!qe(n._f.ref))&&Re(i)}g.unMount=new Set},"_removeUnmounted"),A=a((i,n)=>!r.disabled&&(i&&n&&E(u,i,n),!ue(et(),o)),"_getDirty"),D=a((i,n,l)=>Dt(i,g,{...y.mount?u:R(n)?o:se(i)?{[i]:n}:n},l,n),"_getWatch"),M=a(i=>xe(d(y.mount?u:o,i,r.shouldUnregister?d(o,i,[]):[])),"_getFieldArray"),q=a((i,n,l={})=>{let m=d(s,i),f=n;if(m){let c=m._f;c&&(!c.disabled&&E(u,i,Lt(n,c)),f=we(c.ref)&&z(n)?"":n,It(c.ref)?[...c.ref.options].forEach(_=>_.selected=f.includes(_.value)):c.refs?pe(c.ref)?c.refs.length>1?c.refs.forEach(_=>(!_.defaultChecked||!_.disabled)&&(_.checked=Array.isArray(f)?!!f.find(x=>x===_.value):f===_.value)):c.refs[0]&&(c.refs[0].checked=!!f):c.refs.forEach(_=>_.checked=_.value===f):Xe(c.ref)?c.ref.value="":(c.ref.value=f,c.ref.type||b.values.next({name:i,values:{...u}})))}(l.shouldDirty||l.shouldTouch)&&h(i,f,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&Fe(i)},"setFieldValue"),ee=a((i,n,l)=>{for(let m in n){let f=n[m],c=`${i}.${m}`,_=d(s,c);(g.array.has(i)||P(f)||_&&!_._f)&&!de(f)?ee(c,f,l):q(c,f,l)}},"setValues"),G=a((i,n,l={})=>{let m=d(s,i),f=g.array.has(i),c=N(n);E(u,i,c),f?(b.array.next({name:i,values:{...u}}),(w.isDirty||w.dirtyFields)&&l.shouldDirty&&b.state.next({name:i,dirtyFields:ve(o,u),isDirty:A(i,c)})):m&&!m._f&&!z(c)?ee(i,c,l):q(i,c,l),Ke(i,g)&&b.state.next({...t}),b.values.next({name:y.mount?i:void 0,values:{...u}})},"setValue"),_e=a(async i=>{y.mount=!0;let n=i.target,l=n.name,m=!0,f=d(s,l),c=a(()=>n.type?He(f._f):bt(i),"getCurrentFieldValue"),_=a(x=>{m=Number.isNaN(x)||de(x)&&isNaN(x.getTime())||ue(x,d(u,l,x))},"_updateIsFieldValueUpdated");if(f){let x,$,j=c(),oe=i.type===Se.BLUR||i.type===Se.FOCUS_OUT,Wt=!sr(f._f)&&!r.resolver&&!d(t.errors,l)&&!f._f.deps||ir(oe,d(t.touchedFields,l),t.isSubmitted,k,O),Ie=Ke(l,g,oe);E(u,l,j),oe?(f._f.onBlur&&f._f.onBlur(i),V&&V(0)):f._f.onChange&&f._f.onChange(i);let Pe=h(l,j,oe,!1),qt=!K(Pe)||Ie;if(!oe&&b.values.next({name:l,type:i.type,values:{...u}}),Wt)return w.isValid&&(r.mode==="onBlur"&&oe?H():oe||H()),qt&&b.state.next({name:l,...Ie?{}:Pe});if(!oe&&Ie&&b.state.next({...t}),r.resolver){let{errors:lt}=await p([l]);if(_(j),m){let Ht=Ft(t.errors,s,l),ut=Ft(lt,s,Ht.name||l);x=ut.error,l=ut.name,$=K(lt)}}else te([l],!0),x=(await ze(f,g.disabled,u,U,r.shouldUseNativeValidation))[l],te([l]),_(j),m&&(x?$=!1:w.isValid&&($=await B(s,!0)));m&&(f._f.deps&&Fe(f._f.deps),F(l,$,x,Pe))}},"onChange"),he=a((i,n)=>{if(d(t.errors,n)&&i.focus)return i.focus(),1},"_focusInput"),Fe=a(async(i,n={})=>{let l,m,f=J(i);if(r.resolver){let c=await T(R(i)?i:f);l=K(c),m=i?!f.some(_=>d(c,_)):l}else i?(m=(await Promise.all(f.map(async c=>{let _=d(s,c);return await B(_&&_._f?{[c]:_}:_)}))).every(Boolean),!(!m&&!t.isValid)&&H()):m=l=await B(s);return b.state.next({...!se(i)||w.isValid&&l!==t.isValid?{}:{name:i},...r.resolver||!i?{isValid:l}:{},errors:t.errors}),n.shouldFocus&&!m&&me(s,he,i?f:g.mount),m},"trigger"),et=a(i=>{let n={...y.mount?u:o};return R(i)?n:se(i)?d(n,i):i.map(l=>d(n,l))},"getValues"),tt=a((i,n)=>({invalid:!!d((n||t).errors,i),isDirty:!!d((n||t).dirtyFields,i),error:d((n||t).errors,i),isValidating:!!d(t.validatingFields,i),isTouched:!!d((n||t).touchedFields,i)}),"getFieldState"),Ut=a(i=>{i&&J(i).forEach(n=>L(t.errors,n)),b.state.next({errors:i?t.errors:{}})},"clearErrors"),rt=a((i,n,l)=>{let m=(d(s,i,{_f:{}})._f||{}).ref,f=d(t.errors,i)||{},{ref:c,message:_,type:x,...$}=f;E(t.errors,i,{...$,...n,ref:m}),b.state.next({name:i,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&m&&m.focus&&m.focus()},"setError"),Bt=a((i,n)=>re(i)?b.values.subscribe({next:a(l=>i(D(void 0,n),l),"next")}):D(i,n,!0),"watch"),Re=a((i,n={})=>{for(let l of i?J(i):g.mount)g.mount.delete(l),g.array.delete(l),n.keepValue||(L(s,l),L(u,l)),!n.keepError&&L(t.errors,l),!n.keepDirty&&L(t.dirtyFields,l),!n.keepTouched&&L(t.touchedFields,l),!n.keepIsValidating&&L(t.validatingFields,l),!r.shouldUnregister&&!n.keepDefaultValue&&L(o,l);b.values.next({values:{...u}}),b.state.next({...t,...n.keepDirty?{isDirty:A()}:{}}),!n.keepIsValid&&H()},"unregister"),st=a(({disabled:i,name:n,field:l,fields:m})=>{(Q(i)&&y.mount||i||g.disabled.has(n))&&(i?g.disabled.add(n):g.disabled.delete(n),h(n,He(l?l._f:d(m,n)._f),!1,!1,!0))},"_updateDisabledField"),Te=a((i,n={})=>{let l=d(s,i),m=Q(n.disabled)||Q(r.disabled);return E(s,i,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:i}},name:i,mount:!0,...n}}),g.mount.add(i),l?st({field:l,disabled:Q(n.disabled)?n.disabled:r.disabled,name:i}):I(i,!0,n.value),{...m?{disabled:n.disabled||r.disabled}:{},...r.progressive?{required:!!n.required,min:be(n.min),max:be(n.max),minLength:be(n.minLength),maxLength:be(n.maxLength),pattern:be(n.pattern)}:{},name:i,onChange:_e,onBlur:_e,ref:a(f=>{if(f){Te(i,n),l=d(s,i);let c=R(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,_=er(c),x=l._f.refs||[];if(_?x.find($=>$===c):c===l._f.ref)return;E(s,i,{_f:{...l._f,..._?{refs:[...x.filter(qe),c,...Array.isArray(d(o,i))?[{}]:[]],ref:{type:c.type,name:i}}:{ref:c}}}),I(i,!1,void 0,c)}else l=d(s,i,{}),l._f&&(l._f.mount=!1),(r.shouldUnregister||n.shouldUnregister)&&!(Vt(g.array,i)&&y.action)&&g.unMount.add(i)},"ref")}},"register"),it=a(()=>r.shouldFocusError&&me(s,he,g.mount),"_focusError"),$t=a(i=>{Q(i)&&(b.state.next({disabled:i}),me(s,(n,l)=>{let m=d(s,l);m&&(n.disabled=m._f.disabled||i,Array.isArray(m._f.refs)&&m._f.refs.forEach(f=>{f.disabled=m._f.disabled||i}))},0,!1))},"_disableForm"),at=a((i,n)=>async l=>{let m;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let f=N(u);if(g.disabled.size)for(let c of g.disabled)E(f,c,void 0);if(b.state.next({isSubmitting:!0}),r.resolver){let{errors:c,values:_}=await p();t.errors=c,f=_}else await B(s);if(L(t.errors,"root"),K(t.errors)){b.state.next({errors:{}});try{await i(f,l)}catch(c){m=c}}else n&&await n({...t.errors},l),it(),setTimeout(it);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:K(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},"handleSubmit"),jt=a((i,n={})=>{d(s,i)&&(R(n.defaultValue)?G(i,N(d(o,i))):(G(i,n.defaultValue),E(o,i,N(n.defaultValue))),n.keepTouched||L(t.touchedFields,i),n.keepDirty||(L(t.dirtyFields,i),t.isDirty=n.defaultValue?A(i,N(d(o,i))):A()),n.keepError||(L(t.errors,i),w.isValid&&H()),b.state.next({...t}))},"resetField"),nt=a((i,n={})=>{let l=i?N(i):o,m=N(l),f=K(i),c=f?o:m;if(n.keepDefaultValues||(o=l),!n.keepValues){if(n.keepDirtyValues){let _=new Set([...g.mount,...Object.keys(ve(o,u))]);for(let x of Array.from(_))d(t.dirtyFields,x)?E(c,x,d(u,x)):G(x,d(c,x))}else{if(Ge&&R(i))for(let _ of g.mount){let x=d(s,_);if(x&&x._f){let $=Array.isArray(x._f.refs)?x._f.refs[0]:x._f.ref;if(we($)){let j=$.closest("form");if(j){j.reset();break}}}}s={}}u=r.shouldUnregister?n.keepDefaultValues?N(o):{}:N(c),b.array.next({values:{...c}}),b.values.next({values:{...c}})}g={mount:n.keepDirtyValues?g.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},y.mount=!w.isValid||!!n.keepIsValid||!!n.keepDirtyValues,y.watch=!!r.shouldUnregister,b.state.next({submitCount:n.keepSubmitCount?t.submitCount:0,isDirty:f?!1:n.keepDirty?t.isDirty:!!(n.keepDefaultValues&&!ue(i,o)),isSubmitted:n.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:n.keepDirtyValues?n.keepDefaultValues&&u?ve(o,u):t.dirtyFields:n.keepDefaultValues&&i?ve(o,i):n.keepDirty?t.dirtyFields:{},touchedFields:n.keepTouched?t.touchedFields:{},errors:n.keepErrors?t.errors:{},isSubmitSuccessful:n.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1})},"_reset"),ot=a((i,n)=>nt(re(i)?i(u):i,n),"reset");return{control:{register:Te,unregister:Re,getFieldState:tt,handleSubmit:at,setError:rt,_executeSchema:p,_getWatch:D,_getDirty:A,_updateValid:H,_removeUnmounted:ce,_updateFieldArray:C,_updateDisabledField:st,_getFieldArray:M,_reset:nt,_resetDefaultValues:a(()=>re(r.defaultValues)&&r.defaultValues().then(i=>{ot(i,r.resetOptions),b.state.next({isLoading:!1})}),"_resetDefaultValues"),_updateFormState:a(i=>{t={...t,...i}},"_updateFormState"),_disableForm:$t,_subjects:b,_proxyFormState:w,_setErrors:Z,get _fields(){return s},get _formValues(){return u},get _state(){return y},set _state(i){y=i},get _defaultValues(){return o},get _names(){return g},set _names(i){g=i},get _formState(){return t},set _formState(i){t=i},get _options(){return r},set _options(i){r={...r,...i}}},trigger:Fe,register:Te,handleSubmit:at,watch:Bt,setValue:G,getValues:et,reset:ot,resetField:jt,clearErrors:Ut,unregister:Re,setError:rt,setFocus:a((i,n={})=>{let l=d(s,i),m=l&&l._f;if(m){let f=m.refs?m.refs[0]:m.ref;f.focus&&(f.focus(),n.shouldSelect&&re(f.select)&&f.select())}},"setFocus"),getFieldState:tt}}a(or,"createFormControl");function gr(e={}){let r=v.useRef(void 0),t=v.useRef(void 0),[s,o]=v.useState({isDirty:!1,isValidating:!1,isLoading:re(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:re(e.defaultValues)?void 0:e.defaultValues});r.current||(r.current={...or(e),formState:s});let u=r.current.control;return u._options=e,Ee({subject:u._subjects.state,next:a(y=>{wt(y,u._proxyFormState,u._updateFormState,!0)&&o({...u._formState})},"next")}),v.useEffect(()=>u._disableForm(e.disabled),[u,e.disabled]),v.useEffect(()=>{if(u._proxyFormState.isDirty){let y=u._getDirty();y!==s.isDirty&&u._subjects.state.next({isDirty:y})}},[u,s.isDirty]),v.useEffect(()=>{e.values&&!ue(e.values,t.current)?(u._reset(e.values,u._options.resetOptions),t.current=e.values,o(y=>({...y}))):u._resetDefaultValues()},[e.values,u]),v.useEffect(()=>{e.errors&&u._setErrors(e.errors)},[e.errors,u]),v.useEffect(()=>{u._state.mount||(u._updateValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),v.useEffect(()=>{e.shouldUnregister&&u._subjects.values.next({values:u._getWatch()})},[e.shouldUnregister,u]),r.current.formState=St(s,u),r.current}a(gr,"useForm");import{Slot as lr}from"@radix-ui/react-slot";import*as ie from"react";import{jsx as ne}from"react/jsx-runtime";var Sr=At,Mt=ie.createContext({}),wr=a(({...e})=>ne(Mt.Provider,{value:{name:e.name},children:ne(Et,{...e})}),"FormField"),ke=a(()=>{let e=ie.useContext(Mt),r=ie.useContext(Nt),{getFieldState:t}=ge(),s=Ye({name:e.name}),o=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:u}=r;return{id:u,name:e.name,formItemId:`${u}-form-item`,formDescriptionId:`${u}-form-item-description`,formMessageId:`${u}-form-item-message`,...o}},"useFormField"),Nt=ie.createContext({});function Cr({className:e,...r}){let t=ie.useId();return ne(Nt.Provider,{value:{id:t},children:ne("div",{"data-slot":"form-item",...r,className:fe("grid gap-2",e)})})}a(Cr,"FormItem");function Dr({className:e,...r}){let{error:t,formItemId:s}=ke();return ne(dt,{"data-slot":"form-label","data-error":!!t,className:fe("text-base-color mb-1 data-[error=true]:text-destructive",e),htmlFor:s,...r})}a(Dr,"FormLabel");var ur=ie.forwardRef(({...e},r)=>{let{error:t,formItemId:s,formDescriptionId:o,formMessageId:u}=ke();return ne(lr,{"data-slot":"form-control",ref:r,id:s,"aria-describedby":t?`${o} ${u}`:`${o}`,"aria-invalid":!!t,...e})});ur.displayName="FormControl";function Er({className:e,children:r,...t}){let{formDescriptionId:s}=ke();return typeof r=="string"?ne("p",{"data-slot":"form-description",id:s,className:fe("text-base-color text-xs",e),dangerouslySetInnerHTML:{__html:ct(r)},...t}):ne("p",{"data-slot":"form-description",id:s,className:fe("text-base-color text-xs",e),...t,children:typeof r=="function"?r():r})}a(Er,"FormDescription");function kr({className:e,...r}){let{error:t,formMessageId:s}=ke(),o=t?String(t?.message??""):r.children;return o?ne("p",{"data-slot":"form-message",id:s,className:fe("text-destructive text-sm",e),...r,children:o}):null}a(kr,"FormMessage");export{d as a,E as b,ge as c,Qt as d,mr as e,gr as f,Sr as g,wr as h,Cr as i,Dr as j,ur as k,Er as l,kr as m};
2
- //# sourceMappingURL=chunk-CNDSIADP.js.map
@@ -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
@@ -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 label?: string;\n className?: string;\n 'data-testid'?: string;\n}\n\nexport function ActionsDropdown({\n actions = [],\n className,\n label,\n 'data-testid': dataSelector,\n}: ActionsDropdownProps) {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <div className={cn('relative', className)}>\n <Button\n data-testid={dataSelector}\n variant='ghost'\n aria-label={label}\n className='h-8 w-8 p-0'\n onClick={() => setIsOpen(!isOpen)}\n >\n <MoreHorizontal className='h-4 w-4' />\n </Button>\n\n {isOpen && (\n <>\n <div\n className='fixed inset-0 z-40'\n onClick={() => setIsOpen(false)}\n />\n <div className='absolute right-0 top-1/2 mt-1 bg-white border border-gray-200 rounded-md shadow-lg z-50 min-w-[120px]'>\n {actions.map((action, index) => (\n <button\n key={index}\n data-testid={`${dataSelector}-${action.label.toLowerCase().replace(' ', '-')}`}\n className={cn(\n 'w-full text-left px-2 py-1.5 text-sm hover:bg-gray-100',\n action.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onClick={() => {\n action.onClick();\n setIsOpen(false);\n }}\n disabled={action.disabled}\n >\n {action.label}\n </button>\n ))}\n </div>\n </>\n )}\n </div>\n );\n}\n","import { MinimalCountry, MinimalRegion } from '@/src/client';\nimport { ActionsDropdown } from '@/src/components/shared/actions-dropdown/ActionsDropdown';\nimport { Card } from '@/src/components/ui/card';\nimport { ChevronDown, Info } from 'lucide-react';\nimport Flag from 'react-flagpack';\nimport { useState } from 'react';\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from '@/src/components/ui/accordion';\nimport { cn, formatCurrency, sanitizeHtml } from '@/src/lib/utils';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { CostCalculatorEstimation } from '@/src/flows/CostCalculator/types';\n\nconst FLAG_CODE_MAPPING: Record<string, string> = {\n GB: 'GB-UKM',\n};\n\nconst EstimationResultsHeader = ({\n title,\n country,\n region,\n annualGrossSalary,\n onDelete,\n onExportPdf,\n onEdit,\n}: {\n title: string;\n country: MinimalCountry;\n region?: MinimalRegion;\n annualGrossSalary: string;\n onDelete: () => void;\n onExportPdf: () => void;\n onEdit: () => void;\n}) => {\n const actions = [\n {\n label: 'Edit',\n onClick: onEdit,\n },\n {\n label: 'Export',\n onClick: onExportPdf,\n },\n {\n label: 'Delete',\n onClick: onDelete,\n },\n ];\n return (\n <div className='RemoteFlows__EstimationResults__Header flex justify-between'>\n <div className='flex flex-row items-center gap-6'>\n <div className='RemoteFlows__EstimationResultsHeader__FlagContainer flex h-16 w-16 items-center justify-center rounded-lg bg-[#F4F4F5]'>\n <Flag\n code={\n FLAG_CODE_MAPPING[country.alpha_2_code] || country.alpha_2_code\n }\n />\n </div>\n <div className='space-y-1'>\n <h2\n data-testid='estimation-results-header-title'\n className='RemoteFlows__EstimationResultsHeader__Title text-lg font-medium leading-none text-[#181818]'\n >\n {title}\n </h2>\n <p className='RemoteFlows__EstimationResultsHeader__Country text-xs text-[#71717A]'>\n {country.name} {region ? ` (${region.name})` : ''}\n </p>\n <p\n data-testid='estimation-results-header-annual-gross-salary'\n className='RemoteFlows__EstimationResultsHeader__AnnualGrossSalary text-xs text-[#71717A]'\n >\n <span className='text-[#181818]'>\n Employee annual gross salary:\n </span>{' '}\n {annualGrossSalary}\n </p>\n </div>\n </div>\n <ActionsDropdown\n label='Actions'\n className='RemoteFlows__EstimationResults__ActionsDropdown'\n actions={actions}\n />\n </div>\n );\n};\n\ninterface OnboardingTimelineStep {\n title: string;\n description: string;\n id: string;\n}\n\ninterface OnboardingTimelineData {\n steps: OnboardingTimelineStep[];\n helpText: string;\n zendeskArticleId?: number;\n}\n\nconst getOnboardingTimelineData = (): OnboardingTimelineData => {\n return {\n steps: [\n {\n id: 'add-employment-details',\n title: 'Add employment details',\n description: 'You add employee employments details.',\n },\n {\n id: 'invite-employee',\n title: 'Invite employee',\n description:\n 'Hire receives an email invitation from Remote to start the self-enrollment process.',\n },\n {\n id: 'verify-information',\n title: 'Verify information',\n description:\n 'Remote prepares the Employment Agreement and verifies all the information.',\n },\n {\n id: 'sign-contract',\n title: 'Sign contract',\n description:\n 'All parties sign the Employment Agreement and are ready to start. 🎉',\n },\n ],\n helpText:\n \"For customers who accept Remote's Terms of Service (ToS), the employee onboarding timeline starts once the employee has been invited to the platform and completed self enrollment.\",\n zendeskArticleId: zendeskArticles.employeeOnboardingTimeline,\n };\n};\n\nfunction OnboardingTimeline({\n minimumOnboardingDays,\n data,\n className,\n}: {\n minimumOnboardingDays: number | null;\n data: OnboardingTimelineData;\n className?: string;\n}) {\n return (\n <Accordion\n type='single'\n collapsible\n className={cn(\n 'RemoteFlows__EstimationResults__OnboardingTimeline w-full',\n className,\n )}\n >\n <AccordionItem\n value='timeline'\n className='RemoteFlows__OnboardingTimeline__AccordionItem border-border'\n >\n <AccordionTrigger className='RemoteFlows__OnboardingTimeline__AccordionTrigger hover:no-underline px-0 py-4'>\n <div className='flex items-center justify-between w-full'>\n <span className='RemoteFlows__OnboardingTimeline__Title text-base font-medium text-[#0F172A]'>\n Onboarding timeline\n </span>\n {minimumOnboardingDays != null && (\n <span className='RemoteFlows__OnboardingTimeline__Description text-base text-muted-foreground mr-4'>\n {minimumOnboardingDays} days\n </span>\n )}\n </div>\n </AccordionTrigger>\n <AccordionContent className='px-0 pb-4'>\n <ul className='RemoteFlows__OnboardingTimeline__List list-disc list-inside space-y-2'>\n {data.steps.map((step) => (\n <li key={step.id}>\n <strong className='font-medium text-[#09090B]'>\n {step.title}\n </strong>{' '}\n - {step.description}\n </li>\n ))}\n </ul>\n <p className='RemoteFlows__OnboardingTimeline__HelpText text-xs text-muted-foreground mt-4'>\n {data.helpText}\n {data.zendeskArticleId && (\n <ZendeskTriggerButton zendeskId={data.zendeskArticleId}>\n Learn more\n </ZendeskTriggerButton>\n )}\n </p>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n}\n\nfunction HiringSection({\n className,\n countryBenefitsUrl,\n countryGuideUrl,\n country,\n}: {\n className?: string;\n countryBenefitsUrl: string;\n countryGuideUrl: string;\n country: MinimalCountry;\n}) {\n return (\n <Accordion\n type='single'\n collapsible\n className={cn(\n 'RemoteFlows__EstimationResults__HiringSection w-full',\n className,\n )}\n >\n <AccordionItem\n value='timeline'\n className='RemoteFlows__HiringSection__AccordionItem border-border'\n >\n <AccordionTrigger className='RemoteFlows__HiringSection__AccordionTrigger hover:no-underline px-0 py-4'>\n <div className='flex items-center justify-between w-full'>\n <span className='text-base font-medium text-[#0F172A]'>\n Hiring in {country.name}\n </span>\n </div>\n </AccordionTrigger>\n <AccordionContent>\n <div className='flex flex-col gap-1'>\n {countryGuideUrl && (\n <a\n href={countryGuideUrl}\n target='_blank'\n className='RemoteFlows__Link'\n >\n Explore our complete guide ↗\n </a>\n )}\n {countryBenefitsUrl && (\n <a\n href={countryBenefitsUrl}\n target='_blank'\n className='RemoteFlows__Link'\n >\n Explore our available benefits ↗\n </a>\n )}\n </div>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n}\n\nfunction EstimationHeaders({\n isMultipleCurrency,\n className,\n}: {\n isMultipleCurrency: boolean;\n className?: string;\n}) {\n return (\n <div\n className={cn(\n 'RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center',\n className,\n )}\n >\n <span aria-hidden />\n {isMultipleCurrency ? (\n <>\n <span className='RemoteFlows__EstimationResults__Headers__Label'>\n Employee currency\n </span>\n <span className='RemoteFlows__EstimationResults__Headers__Label'>\n Employer currency\n </span>\n </>\n ) : (\n <>\n <span></span>\n <span className='RemoteFlows__EstimationResults__Headers__Label'>\n Amount\n </span>\n </>\n )}\n </div>\n );\n}\n\nfunction EstimationRow({\n label,\n amounts,\n className,\n children,\n}: {\n label: string | React.ReactNode;\n amounts: string | string[];\n className?: string;\n children?: React.ReactNode;\n}) {\n const [isOpen, setIsOpen] = useState(true);\n\n return (\n <div className={cn('RemoteFlows__EstimationResults__Row', className)}>\n <div className='RemoteFlows__EstimationRow__Grid grid grid-cols-3 items-center'>\n <div className='RemoteFlows__EstimationRow__LabelContainer flex items-center gap-2'>\n <span\n className={cn(\n 'RemoteFlows__EstimationRow__Title min-w-[140px] font-medium text-[#09090B]',\n )}\n >\n {label}\n </span>\n <button\n onClick={() => setIsOpen(!isOpen)}\n className='RemoteFlows__EstimationRow__CollapseButton p-1 hover:bg-gray-100 rounded'\n >\n <ChevronDown\n className={`h-4 w-4 text-muted-foreground transition-transform ${\n isOpen ? 'rotate-180' : ''\n }`}\n />\n </button>\n </div>\n\n {Array.isArray(amounts) ? (\n amounts.map((amount, index) => (\n <span\n key={index}\n className={cn(\n 'RemoteFlows__EstimationRow__RegionalAmount text-right font-medium text-[#09090B]',\n )}\n >\n {amount}\n </span>\n ))\n ) : (\n <>\n <span></span>\n <span\n className={cn(\n 'RemoteFlows__EstimationRow__EmployerAmount text-right font-medium text-[#09090B]',\n )}\n >\n {amounts}\n </span>\n </>\n )}\n </div>\n\n {/* Collapsible content */}\n {isOpen && children && (\n <div className='RemoteFlows__EstimationRow__CollapsibleContent mt-4'>\n {children}\n </div>\n )}\n </div>\n );\n}\n\ninterface BreakdownItem {\n label: string;\n tooltip?: string;\n dataSelector?: string;\n regionalAmount?: string;\n employerAmount?: string;\n description?: string;\n zendeskId?: string;\n isCollapsible?: boolean;\n children?: BreakdownItem[];\n}\n\nfunction BreakdownListItem({\n item,\n isMultipleCurrency,\n level = 0,\n}: {\n item: BreakdownItem;\n isMultipleCurrency: boolean;\n level?: number;\n}) {\n const [isOpen, setIsOpen] = useState(false);\n const hasChildren = item.children && item.children.length > 0;\n const isNested = level > 0;\n const isCollapsible = item.isCollapsible || hasChildren;\n\n return (\n <li\n className={cn(\n 'RemoteFlows__BreakdownList__Item pb-3',\n isNested && 'pb-1',\n )}\n >\n <div\n className={cn(\n isMultipleCurrency\n ? 'RemoteFlows__BreakdownList__Grid grid grid-cols-3 items-center justify-between'\n : 'RemoteFlows__BreakdownList__Grid grid grid-cols-2 items-center justify-between',\n )}\n >\n <div\n className={cn(\n 'RemoteFlows__BreakdownList__LabelContainer flex items-center gap-2',\n isNested && 'pl-3',\n )}\n >\n {!isNested && (\n <span\n className='RemoteFlows__BreakdownList__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0'\n aria-hidden='true'\n />\n )}\n\n {isCollapsible ? (\n <button\n onClick={() => setIsOpen(!isOpen)}\n className='RemoteFlows__BreakdownList__CollapseButton flex items-center gap-2 hover:bg-gray-100 rounded p-1'\n >\n <span\n className={cn(\n isNested\n ? 'RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]'\n : 'RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B]',\n )}\n >\n {item.label}\n </span>\n <ChevronDown\n className={`RemoteFlows__BreakdownList__ChevronDown h-3 w-3 text-muted-foreground transition-transform ${\n isOpen ? 'rotate-180' : ''\n }`}\n />\n </button>\n ) : (\n <span\n className={cn(\n isNested\n ? 'RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]'\n : 'RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B] p-1',\n )}\n >\n {item.label}\n </span>\n )}\n\n {item.tooltip && (\n <BasicTooltip\n content={\n <>\n <span\n dangerouslySetInnerHTML={{\n __html: sanitizeHtml(item.tooltip),\n }}\n />{' '}\n {item.zendeskId && (\n <ZendeskTriggerButton zendeskId={Number(item.zendeskId)}>\n Learn more\n </ZendeskTriggerButton>\n )}\n </>\n }\n >\n <button className='RemoteFlows__BreakdownList__InfoButton p-1 hover:bg-gray-100 rounded'>\n <Info\n className={cn(\n 'RemoteFlows__BreakdownList__InfoButton__Icon text-muted-foreground',\n isNested ? 'h-3 w-3' : 'h-4 w-4',\n )}\n />\n </button>\n </BasicTooltip>\n )}\n </div>\n\n {isMultipleCurrency ? (\n <>\n <span\n data-testid={\n item.dataSelector && item.dataSelector + '-employee-amount'\n }\n className={cn(\n 'RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right',\n isNested\n ? 'RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]'\n : 'RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]',\n )}\n >\n {item.regionalAmount || '—'}\n </span>\n <span\n data-testid={\n item.dataSelector && item.dataSelector + '-employer-amount'\n }\n className={cn(\n 'RemoteFlows__BreakdownList__EmployerAmountText text-sm text-right',\n isNested\n ? 'RemoteFlows__BreakdownList__EmployerAmountText--Nested text-[#71717A]'\n : 'RemoteFlows__BreakdownList__EmployerAmountText--NotNested text-[#09090B]',\n )}\n >\n {item.employerAmount || '—'}\n </span>\n </>\n ) : (\n <span\n data-testid={item.dataSelector}\n className={cn(\n 'RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right',\n isNested\n ? 'RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]'\n : 'RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]',\n )}\n >\n {item.regionalAmount || '—'}\n </span>\n )}\n </div>\n\n {hasChildren && isOpen && (\n <div className='mt-1'>\n <BreakdownList\n items={item.children!}\n isMultipleCurrency={isMultipleCurrency}\n level={level + 1}\n />\n </div>\n )}\n </li>\n );\n}\n\ninterface BreakdownListProps {\n items: BreakdownItem[];\n isMultipleCurrency: boolean;\n className?: string;\n level?: number;\n}\n\nfunction BreakdownList({\n items,\n isMultipleCurrency,\n className,\n level,\n}: BreakdownListProps) {\n return (\n <ul className={cn('RemoteFlows__BreakdownList list-none', className)}>\n {items.map((item, index) => (\n <BreakdownListItem\n key={index}\n item={item}\n isMultipleCurrency={isMultipleCurrency}\n level={level}\n />\n ))}\n </ul>\n );\n}\n\ntype EstimationResultsComponents = {\n HiringSection?: React.ComponentType<{\n country: MinimalCountry;\n countryBenefitsUrl: string;\n countryGuideUrl: string;\n }>;\n OnboardingTimeline?: React.ComponentType<{\n minimumOnboardingDays: number | null;\n data: OnboardingTimelineData;\n }>;\n Header?: React.ComponentType<{\n title: string;\n region?: MinimalRegion;\n country: MinimalCountry;\n onDelete: () => void;\n onExportPdf: () => void;\n }>;\n Footer?: React.ComponentType;\n};\n\ntype EstimationResultsProps = {\n estimation: CostCalculatorEstimation;\n title: string;\n components?: EstimationResultsComponents;\n onDelete: () => void;\n onExportPdf: () => void;\n onEdit: () => void;\n};\n\nexport const EstimationResults = ({\n estimation,\n title,\n components,\n onDelete,\n onExportPdf,\n onEdit,\n}: EstimationResultsProps) => {\n const CustomHiringSection = components?.HiringSection || HiringSection;\n const CustomOnboardingTimeline =\n components?.OnboardingTimeline || OnboardingTimeline;\n const CustomHeader = components?.Header || EstimationResultsHeader;\n const CustomFooter = components?.Footer;\n\n const onboardingTimelineData = getOnboardingTimelineData();\n\n const isMultipleCurrency =\n estimation.employer_currency_costs.currency.code !==\n estimation.regional_currency_costs.currency.code;\n\n const hasManagementFee =\n estimation.employer_currency_costs.monthly_management_fee;\n\n const hasRegion = estimation.region.code !== estimation.country.code;\n\n const formattedSalary = formatCurrency(\n estimation.regional_currency_costs.annual_gross_salary,\n estimation.regional_currency_costs.currency.symbol,\n );\n\n return (\n <Card className='RemoteFlows__EstimationResults__Card p-10'>\n <div className='RemoteFlows__Separator'>\n <CustomHeader\n title={title}\n annualGrossSalary={formattedSalary}\n region={hasRegion ? estimation.region : undefined}\n country={estimation.country}\n onDelete={onDelete}\n onExportPdf={onExportPdf}\n onEdit={onEdit}\n />\n </div>\n <div className='RemoteFlows__Separator'>\n <EstimationHeaders\n isMultipleCurrency={isMultipleCurrency}\n className='mb-3'\n />\n <EstimationRow\n label='Monthly total cost'\n amounts={\n isMultipleCurrency\n ? [\n formatCurrency(\n estimation.regional_currency_costs.monthly_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n formatCurrency(\n estimation.employer_currency_costs.monthly_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.monthly_total,\n estimation.regional_currency_costs.currency.symbol,\n )\n }\n >\n <BreakdownList\n items={[\n {\n label: 'Gross monthly salary',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.monthly_gross_salary,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_gross_salary,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: zendeskArticles.extraPayments.toString(),\n tooltip:\n 'This country respects extra payments on top of the gross salary.',\n },\n {\n label: 'Mandatory employer costs',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_contributions_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .monthly_contributions_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.monthly_contributions_breakdown?.map(\n (item, index) => {\n return {\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_contributions_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n };\n },\n ) || [],\n },\n {\n label: 'Benefits',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.monthly_benefits_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_benefits_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.monthly_benefits_breakdown?.map(\n (item, index) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_benefits_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n ...(hasManagementFee\n ? [\n {\n label: 'Monthly fee',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_management_fee,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .monthly_management_fee,\n estimation.employer_currency_costs.currency.symbol,\n ),\n tooltip:\n 'Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more.',\n },\n ]\n : []),\n ]}\n isMultipleCurrency={isMultipleCurrency}\n />\n </EstimationRow>\n </div>\n <div className='RemoteFlows__Separator'>\n <EstimationRow\n label='Annual total cost'\n amounts={\n isMultipleCurrency\n ? [\n formatCurrency(\n estimation.regional_currency_costs.annual_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n formatCurrency(\n estimation.employer_currency_costs.annual_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.annual_total,\n estimation.regional_currency_costs.currency.symbol,\n )\n }\n >\n <BreakdownList\n items={[\n {\n label: 'Gross annual salary',\n dataSelector: 'annual-gross-salary',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_gross_salary,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_gross_salary,\n estimation.employer_currency_costs.currency.symbol,\n ),\n },\n {\n label: 'Mandatory employer costs',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_contributions_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_contributions_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.annual_contributions_breakdown?.map(\n (item, index) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .annual_contributions_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Benefits',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_benefits_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_benefits_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.annual_benefits_breakdown?.map(\n (item, index) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .annual_benefits_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Extra statutory payments',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .extra_statutory_payments_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .extra_statutory_payments_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.extra_statutory_payments_breakdown?.map(\n (item, index) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .extra_statutory_payments_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n ...(hasManagementFee\n ? [\n {\n label: 'Annual fee',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .annual_management_fee,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .annual_management_fee,\n estimation.employer_currency_costs.currency.symbol,\n ),\n tooltip:\n 'Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more.',\n },\n ]\n : []),\n ]}\n isMultipleCurrency={isMultipleCurrency}\n />\n </EstimationRow>\n </div>\n <div className='RemoteFlows__Separator'>\n <CustomOnboardingTimeline\n minimumOnboardingDays={estimation.minimum_onboarding_time}\n data={onboardingTimelineData}\n />\n </div>\n\n <CustomHiringSection\n countryBenefitsUrl={estimation.country_benefits_details_url as string}\n countryGuideUrl={estimation.country_guide_url as string}\n country={estimation.country}\n />\n\n {CustomFooter && <CustomFooter />}\n </Card>\n );\n};\n"],"mappings":"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","names":["MoreHorizontal","useState","Fragment","jsx","jsxs","ActionsDropdown","actions","className","label","dataSelector","isOpen","setIsOpen","useState","cn","Button","MoreHorizontal","action","index","__name","ChevronDown","Info","Flag","useState","Fragment","jsx","jsxs","FLAG_CODE_MAPPING","EstimationResultsHeader","__name","title","country","region","annualGrossSalary","onDelete","onExportPdf","onEdit","actions","Flag","ActionsDropdown","getOnboardingTimelineData","zendeskArticles","OnboardingTimeline","minimumOnboardingDays","data","className","Accordion","cn","AccordionItem","AccordionTrigger","AccordionContent","step","ZendeskTriggerButton","HiringSection","countryBenefitsUrl","countryGuideUrl","EstimationHeaders","isMultipleCurrency","EstimationRow","label","amounts","children","isOpen","setIsOpen","useState","ChevronDown","amount","index","BreakdownListItem","item","level","hasChildren","isNested","isCollapsible","BasicTooltip","sanitizeHtml","Info","BreakdownList","items","EstimationResults","estimation","components","CustomHiringSection","CustomOnboardingTimeline","CustomHeader","CustomFooter","onboardingTimelineData","hasManagementFee","hasRegion","formattedSalary","formatCurrency","Card"]}
@@ -1,2 +0,0 @@
1
- import{a as N}from"./chunk-SPQO42TA.js";import{a as R}from"./chunk-E4CABUTS.js";import{a as P}from"./chunk-BCXRPHWY.js";import{a as S}from"./chunk-MQWVZSGH.js";import{a as v}from"./chunk-WBRWVTZK.js";import{a as B}from"./chunk-WMPKW7HC.js";import{a as x,b as k,c as i}from"./chunk-7R347KBY.js";import{a as h,b as p,c as g,d as w,e as T}from"./chunk-AFRA4BIW.js";import{b as f}from"./chunk-HPHWQU34.js";import{a as b}from"./chunk-43WMZDDH.js";import{a as _}from"./chunk-P37U34EQ.js";import{lazy as L,useState as V}from"react";import{Fragment as I,jsx as a,jsxs as r}from"react/jsx-runtime";var z=L(()=>import("./flows/CostCalculator/Results/CostCalculatorResultsChart.js"));function Y({employmentData:D,options:e}){let[o,E]=V("monthly"),n=D.employments?.[0];if(!n)return null;let t=n.employer_currency_costs,s=t.currency.symbol,m=o==="monthly"?t.monthly_gross_salary:t.annual_gross_salary,u=o==="monthly"?t.monthly_benefits_total:t.annual_benefits_total,y=o==="monthly"?t.monthly_contributions_total:t.annual_contributions_total,F=o==="monthly"?t.monthly_total:t.annual_total,l=o==="monthly"?null:t.extra_statutory_payments_breakdown,A=o==="monthly"?null:t.extra_statutory_payments_total,d=o==="monthly"?t.monthly_indirect_tax:t.annual_indirect_tax,c=o==="monthly"?t.monthly_benefits_breakdown:t.annual_benefits_breakdown,H=o==="monthly"?t.monthly_contributions_breakdown:t.annual_contributions_breakdown,C=[{name:"Gross Salary",value:m,color:e?.chartColors?.grossSalary??"#3b82f6"},{name:"Contributions",value:y,color:e?.chartColors?.contributions??"#f59e0b"}];return c&&C.push({name:"Benefits",value:u??0,color:e?.chartColors?.benefits??"#10b981"}),r(I,{children:[r("div",{className:"flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults",children:[r("div",{className:"RemoteFlows__CostCalculatorResults__Header",children:[r("h2",{className:"text-xl font-semibold flex items-center gap-2",children:[a("span",{className:"flex items-center gap-1",children:e?.title??"Cost Calculator"}),a(f,{className:"ml-2",children:n.country.name})]}),a("p",{className:"text-primary-foreground font-medium mt-1",children:e?.description??`Total cost of employment in ${n.country.name}`})]}),a(x,{value:o,onValueChange:G=>E(G),className:"w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs",children:r(k,{className:"grid w-full md:w-[200px] grid-cols-2",children:[a(i,{value:"monthly",children:"Monthly"}),a(i,{value:"annual",children:"Annual"})]})})]}),r("div",{className:b("grid grid-cols-1 gap-6",e?.showChart?"md:grid-cols-3":"","RemoteFlows__CostCalculatorResults_CostBreakdown"),children:[r(h,{className:"md:col-span-2 rounded-lg",children:[r(p,{className:"pb-2",children:[a(g,{children:"Cost Breakdown"}),a(w,{children:"Detailed breakdown of all employer costs"})]}),a(T,{children:r("div",{className:"space-y-6",children:[a(R,{grossSalary:m,currency:s,hasExtraStatutoryPayment:n.has_extra_statutory_payment}),c?a(v,{benefitsBreakdown:c,benefitsTotal:u,currency:s}):null,a(B,{contributionsBreakdown:H,contributionsTotal:y,currency:s}),Array.isArray(l)&&l.length>0?a(N,{extraStatutoryPaymentsBreakdown:l,extraStatutoryPaymentsTotal:A,currency:s}):null,d?a(P,{indirectTax:d,currency:s}):null,a(S,{totalCost:F,currency:s})]})})]}),e?.showChart&&a(z,{chartData:C,currency:s})]})]})}_(Y,"CostCalculatorResults");export{Y as a};
2
- //# sourceMappingURL=chunk-DXIO72S4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorResults.tsx"],"sourcesContent":["import { lazy, useState } from 'react';\n\nimport { CostCalculatorEstimateResponse } from '@/src/client';\nimport { Badge } from '@/src/components/ui/badge';\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport { Tabs, TabsList, TabsTrigger } from '@/src/components/ui/tabs';\nimport { cn } from '@/src/lib/utils';\nimport { CostCalculatorBenefitsBreakdown } from './CostCalculatorBenefitsBreakdown';\nimport { CostCalculatorContributionsBreakdown } from './CostCalculatorContributionsBreakdown';\nimport { CostCalculatorGrossSalary } from './CostCalculatorGrossSalary';\nimport { CostCalculatorTotalCost } from './CostCalculatorTotalCost';\nimport { CostCalculatorExtraStatutoryPaymentsBreakdown } from '@/src/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown';\nimport { CostCalculatorIndirectTax } from '@/src/flows/CostCalculator/Results/CostCalculatorIndirectTax';\n\nconst CostCalculatorResultsChart = lazy(\n () => import('./CostCalculatorResultsChart'),\n);\n\ninterface CostCalculatorResultProps {\n employmentData: CostCalculatorEstimateResponse['data'];\n options?: Partial<{\n title: string;\n description: string;\n showChart: boolean;\n chartColors: {\n grossSalary: string;\n contributions: string;\n benefits: string;\n };\n }>;\n}\n\nexport function CostCalculatorResults({\n employmentData,\n options,\n}: CostCalculatorResultProps) {\n const [view, setView] = useState<'monthly' | 'annual'>('monthly');\n const employment = employmentData.employments?.[0];\n\n if (!employment) {\n return null;\n }\n\n const costs =\n view === 'monthly'\n ? employment.employer_currency_costs\n : employment.employer_currency_costs;\n\n const currency = costs.currency.symbol;\n const grossSalary =\n view === 'monthly' ? costs.monthly_gross_salary : costs.annual_gross_salary;\n const benefitsTotal =\n view === 'monthly'\n ? costs.monthly_benefits_total\n : costs.annual_benefits_total;\n const contributionsTotal =\n view === 'monthly'\n ? costs.monthly_contributions_total\n : costs.annual_contributions_total;\n const totalCost =\n view === 'monthly' ? costs.monthly_total : costs.annual_total;\n\n const extraStatutoryPaymentsBreakdown =\n view === 'monthly' ? null : costs.extra_statutory_payments_breakdown;\n\n const extraStatutoryPaymentsTotal =\n view === 'monthly' ? null : costs.extra_statutory_payments_total;\n\n const indirectTax =\n view === 'monthly' ? costs.monthly_indirect_tax : costs.annual_indirect_tax;\n\n const benefitsBreakdown =\n view === 'monthly'\n ? costs.monthly_benefits_breakdown\n : costs.annual_benefits_breakdown;\n const contributionsBreakdown =\n view === 'monthly'\n ? costs.monthly_contributions_breakdown\n : costs.annual_contributions_breakdown;\n\n const chartData = [\n {\n name: 'Gross Salary',\n value: grossSalary,\n color: options?.chartColors?.grossSalary ?? '#3b82f6',\n },\n {\n name: 'Contributions',\n value: contributionsTotal,\n color: options?.chartColors?.contributions ?? '#f59e0b',\n },\n ];\n\n if (benefitsBreakdown) {\n chartData.push({\n name: 'Benefits',\n value: benefitsTotal ?? 0,\n color: options?.chartColors?.benefits ?? '#10b981',\n });\n }\n\n return (\n <>\n <div className='flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults'>\n <div className='RemoteFlows__CostCalculatorResults__Header'>\n <h2 className='text-xl font-semibold flex items-center gap-2'>\n <span className='flex items-center gap-1'>\n {options?.title ?? 'Cost Calculator'}\n </span>\n <Badge className='ml-2'>{employment.country.name}</Badge>\n </h2>\n <p className='text-primary-foreground font-medium mt-1'>\n {options?.description ??\n `Total cost of employment in ${employment.country.name}`}\n </p>\n </div>\n\n <Tabs\n value={view}\n onValueChange={(v) => setView(v as 'monthly' | 'annual')}\n className='w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs'\n >\n <TabsList className='grid w-full md:w-[200px] grid-cols-2'>\n <TabsTrigger value='monthly'>Monthly</TabsTrigger>\n <TabsTrigger value='annual'>Annual</TabsTrigger>\n </TabsList>\n </Tabs>\n </div>\n\n <div\n className={cn(\n 'grid grid-cols-1 gap-6',\n options?.showChart ? 'md:grid-cols-3' : '',\n 'RemoteFlows__CostCalculatorResults_CostBreakdown',\n )}\n >\n <Card className='md:col-span-2 rounded-lg'>\n <CardHeader className='pb-2'>\n <CardTitle>Cost Breakdown</CardTitle>\n <CardDescription>\n Detailed breakdown of all employer costs\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className='space-y-6'>\n {/* Salary Section */}\n <CostCalculatorGrossSalary\n grossSalary={grossSalary}\n currency={currency}\n hasExtraStatutoryPayment={\n employment.has_extra_statutory_payment\n }\n />\n {/* Benefits Section */}\n {benefitsBreakdown ? (\n <CostCalculatorBenefitsBreakdown\n benefitsBreakdown={benefitsBreakdown}\n benefitsTotal={benefitsTotal}\n currency={currency}\n />\n ) : null}\n {/* Contributions Section */}\n <CostCalculatorContributionsBreakdown\n contributionsBreakdown={contributionsBreakdown}\n contributionsTotal={contributionsTotal}\n currency={currency}\n />\n {/* Extra Statutory Payments Section */}\n {Array.isArray(extraStatutoryPaymentsBreakdown) &&\n extraStatutoryPaymentsBreakdown.length > 0 ? (\n <CostCalculatorExtraStatutoryPaymentsBreakdown\n extraStatutoryPaymentsBreakdown={\n extraStatutoryPaymentsBreakdown\n }\n extraStatutoryPaymentsTotal={extraStatutoryPaymentsTotal}\n currency={currency}\n />\n ) : null}\n {/* Indirect Tax Section */}\n {indirectTax ? (\n <CostCalculatorIndirectTax\n indirectTax={indirectTax}\n currency={currency}\n />\n ) : null}\n {/* Total */}\n <CostCalculatorTotalCost\n totalCost={totalCost}\n currency={currency}\n />\n </div>\n </CardContent>\n </Card>\n\n {options?.showChart && (\n <CostCalculatorResultsChart\n chartData={chartData}\n currency={currency}\n />\n )}\n </div>\n </>\n );\n}\n"],"mappings":"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","names":["lazy","useState","Fragment","jsx","jsxs","CostCalculatorResultsChart","lazy","CostCalculatorResults","employmentData","options","view","setView","useState","employment","costs","currency","grossSalary","benefitsTotal","contributionsTotal","totalCost","extraStatutoryPaymentsBreakdown","extraStatutoryPaymentsTotal","indirectTax","benefitsBreakdown","contributionsBreakdown","chartData","Badge","Tabs","v","TabsList","TabsTrigger","cn","Card","CardHeader","CardTitle","CardDescription","CardContent","CostCalculatorGrossSalary","CostCalculatorBenefitsBreakdown","CostCalculatorContributionsBreakdown","CostCalculatorExtraStatutoryPaymentsBreakdown","CostCalculatorIndirectTax","CostCalculatorTotalCost","__name"]}
@@ -1,20 +0,0 @@
1
- var e={data:{id:4668194326797,title:"Disclaimer information on Cost of Employment calculations",body:`<h3 id="h_01HHJFVR5Q4F8A52F06EVG289R">Remote disclaimer</h3>
2
- <p>The estimate provides a transparent detailed breakdown for in-country statutory social contributions, statutory benefits, and other benefits that may be required. Estimates do not take into account additional costs that may be incurred for relocation, visa, right-to-work requirements, or other activities.\xA0</p>
3
- <p><strong>See also:</strong> <a href="https://support.remote.com/hc/en-us/articles/22329255813133">What other type of costs does the Cost Calculator not include?</a></p>
4
- <h3 id="h_01HHJFVYRAAGDKJ36EZS8W6P5N">EOR services</h3>
5
- <p>Our EOR services allow you to retain ownership of your employees' IP and inventions. Compliance, taxes, and payroll are handled by our local teams for a seamless end-to-end experience.</p>
6
- <h3 id="h_01HHJFW4FQPGPK14FSM4XCY5MR">Pricing and payroll</h3>
7
- <p>When it comes to payroll, legal and operational complexities are reduced to a single invoice for all of your Remote employees across every country you hire in \u2013 no hidden costs and no long-term commitments needed. Just a simple pricing structure that includes a fixed hiring fee for each EOR employee.</p>
8
- <h3 id="01JMCR2YZ0GVTCXNPY88TADWQ1">Currency conversions</h3>
9
- <p>When the employee currency differs from the billing currency, we use market rates to convert. The rate figures on this quote are a rough estimate. When the employee currency differs from the billing currency, we use market rates to convert. The rate figures on this quote are a rough estimated.</p>
10
- <h3 id="h_01HHJFWD1TFB5DQ6B4WD5F1GY6">Employee off-boarding related costs</h3>
11
- <p>The estimate here does not include any costs related to off-boarding of employees. Whilst we do not charge any processing fees when you want to off-board an employee, any other costs such as severance pay, covering remaining vacation days and etc will be charged back to you.<br><strong>See also:\xA0</strong><a href="https://support.remote.com/hc/en-us/articles/22329371247885">Are the costs of employee off-boarding included in the Cost Calculator?</a></p>
12
- <p>Please note the \u2018employee net income estimate\u2019 section (if available for the country) is intended for informational purposes only and should not be used as a substitute for professional financial advice.</p>
13
- <p>Additionally, tax laws and rates can vary by location and are subject to change, which may not be immediately reflected in the calculator.</p>
14
- <p>For a detailed and accurate assessment of your take-home pay, please consult with a qualified tax professional or financial advisor.</p>
15
- <p><strong>See also</strong>: <a href="https://support.remote.com/hc/en-us/articles/25196498469773">How to use the \u2018employee net income estimate\u2019 section in the Cost Calculator?</a></p>
16
- <p><!-- notionvc: 04d0e276-e0d7-4793-93ee-d4ad14600217 --></p>
17
- <h3 id="h_01HHJFWTHJ58YAZ87M3E090H4J">Note</h3>
18
- <p>This estimate is for guidance only and may not constitute accurate financial advice. Information contained in this document is subject to changes in laws in different jurisdictions, which can change without notice. This document is the property of Remote, is confidential, cannot be reproduced without permission, and cannot be disclosed to any third parties.</p>
19
- <p><!-- notionvc: 09e777b4-c10c-438e-bb95-ce1f3fb86c9a --></p>`,html_url:"https://support.remote.com/hc/en-us/articles/4668194326797-Disclaimer-information-on-Cost-of-Employment-calculations"}};export{e as a};
20
- //# sourceMappingURL=chunk-DYB3RWP7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/disclaimerUtils.ts"],"sourcesContent":["export const disclaimerData = {\n data: {\n id: 4668194326797,\n title: 'Disclaimer information on Cost of Employment calculations',\n body: '<h3 id=\"h_01HHJFVR5Q4F8A52F06EVG289R\">Remote disclaimer</h3>\\n<p>The estimate provides a transparent detailed breakdown for in-country statutory social contributions, statutory benefits, and other benefits that may be required. Estimates do not take into account additional costs that may be incurred for relocation, visa, right-to-work requirements, or other activities. </p>\\n<p><strong>See also:</strong> <a href=\"https://support.remote.com/hc/en-us/articles/22329255813133\">What other type of costs does the Cost Calculator not include?</a></p>\\n<h3 id=\"h_01HHJFVYRAAGDKJ36EZS8W6P5N\">EOR services</h3>\\n<p>Our EOR services allow you to retain ownership of your employees\\' IP and inventions. Compliance, taxes, and payroll are handled by our local teams for a seamless end-to-end experience.</p>\\n<h3 id=\"h_01HHJFW4FQPGPK14FSM4XCY5MR\">Pricing and payroll</h3>\\n<p>When it comes to payroll, legal and operational complexities are reduced to a single invoice for all of your Remote employees across every country you hire in – no hidden costs and no long-term commitments needed. Just a simple pricing structure that includes a fixed hiring fee for each EOR employee.</p>\\n<h3 id=\"01JMCR2YZ0GVTCXNPY88TADWQ1\">Currency conversions</h3>\\n<p>When the employee currency differs from the billing currency, we use market rates to convert. The rate figures on this quote are a rough estimate. When the employee currency differs from the billing currency, we use market rates to convert. The rate figures on this quote are a rough estimated.</p>\\n<h3 id=\"h_01HHJFWD1TFB5DQ6B4WD5F1GY6\">Employee off-boarding related costs</h3>\\n<p>The estimate here does not include any costs related to off-boarding of employees. Whilst we do not charge any processing fees when you want to off-board an employee, any other costs such as severance pay, covering remaining vacation days and etc will be charged back to you.<br><strong>See also: </strong><a href=\"https://support.remote.com/hc/en-us/articles/22329371247885\">Are the costs of employee off-boarding included in the Cost Calculator?</a></p>\\n<p>Please note the ‘employee net income estimate’ section (if available for the country) is intended for informational purposes only and should not be used as a substitute for professional financial advice.</p>\\n<p>Additionally, tax laws and rates can vary by location and are subject to change, which may not be immediately reflected in the calculator.</p>\\n<p>For a detailed and accurate assessment of your take-home pay, please consult with a qualified tax professional or financial advisor.</p>\\n<p><strong>See also</strong>: <a href=\"https://support.remote.com/hc/en-us/articles/25196498469773\">How to use the ‘employee net income estimate’ section in the Cost Calculator?</a></p>\\n<p><!-- notionvc: 04d0e276-e0d7-4793-93ee-d4ad14600217 --></p>\\n<h3 id=\"h_01HHJFWTHJ58YAZ87M3E090H4J\">Note</h3>\\n<p>This estimate is for guidance only and may not constitute accurate financial advice. Information contained in this document is subject to changes in laws in different jurisdictions, which can change without notice. This document is the property of Remote, is confidential, cannot be reproduced without permission, and cannot be disclosed to any third parties.</p>\\n<p><!-- notionvc: 09e777b4-c10c-438e-bb95-ce1f3fb86c9a --></p>',\n html_url:\n 'https://support.remote.com/hc/en-us/articles/4668194326797-Disclaimer-information-on-Cost-of-Employment-calculations',\n },\n};\n"],"mappings":"AAAO,IAAMA,EAAiB,CAC5B,KAAM,CACJ,GAAI,cACJ,MAAO,4DACP,KAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gEACN,SACE,sHACJ,CACF","names":["disclaimerData"]}
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-5CVD5WZZ.js";import{b as m}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function u({onSubmit:r}){let{terminationBag:i}=m();return n(a,{onSubmit:o(async e=>{await r?.(i?.parseFormValues(e)),i?.next()},"handleSubmit")})}o(u,"PaidTimeOffForm");export{u as a};
2
- //# sourceMappingURL=chunk-DZ2R72O5.js.map
@@ -1,2 +0,0 @@
1
- import{a as i}from"./chunk-ZSCKSEAA.js";import{a as m}from"./chunk-ZE3YT3Q6.js";import{a,b as e}from"./chunk-MZB24YJP.js";import{b as n}from"./chunk-WVDTHFGS.js";import{b as s}from"./chunk-43WMZDDH.js";import{a as o}from"./chunk-P37U34EQ.js";import{Info as f}from"lucide-react";import{Fragment as y,jsx as r,jsxs as t}from"react/jsx-runtime";function N({grossSalary:l,currency:p,hasExtraStatutoryPayment:c=!1}){return t("div",{children:[t("div",{className:"flex justify-between items-center mb-2",children:[t("div",{className:"flex items-center gap-2",children:[r("h3",{className:"font-medium text-primary-foreground",children:"Gross Salary"}),c&&r(m,{content:t(y,{children:[r("span",{children:"This country respects extra payments on top of the gross salary."})," ",r(e,{zendeskId:a.extraPayments,children:"Learn more"})]}),children:t(n,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0 mt-2",children:[r(f,{className:"h-3 w-3 text-gray-400"}),r("span",{className:"sr-only",children:"Info"})]})})]}),r("span",{className:"font-semibold text-lg",children:s(l,p)})]}),r(i,{})]})}o(N,"CostCalculatorGrossSalary");export{N as a};
2
- //# sourceMappingURL=chunk-E4CABUTS.js.map
@@ -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":"kPAIA,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/flows/ContractAmendment/utils.ts"],"sourcesContent":["import { Employment } from '@/src/client';\nimport { convertFromCents } from '@/src/components/form/utils';\nimport { Fields } from '@remoteoss/json-schema-form';\nimport { Step } from '../useStepState';\n\ntype StepKeys = 'form' | 'confirmation_form';\n\nexport const STEPS: Record<StepKeys, Step<StepKeys>> = {\n form: { index: 0, name: 'form' },\n confirmation_form: { index: 1, name: 'confirmation_form' },\n} as const;\n\nexport function buildInitialValues(\n employment: Employment | undefined,\n fields?: Fields | undefined,\n) {\n if (!employment) {\n return {};\n }\n\n if (!fields) {\n return {\n ...employment.contract_details,\n effective_date: '',\n reason_for_change: '',\n job_title: employment.job_title,\n additional_comments: '',\n annual_gross_salary: convertFromCents(\n employment.contract_details?.annual_gross_salary as string,\n ),\n };\n }\n\n const allFields = fields.map((field) => field.name);\n const employmentFields = Object.keys(employment?.contract_details || {});\n const initialValues = allFields.reduce<Record<string, unknown>>(\n (initialValuesAcc, field) => {\n // @ts-expect-error error\n if (employmentFields.includes(field)) {\n const contractDetails = employment?.contract_details;\n // @ts-expect-error error\n initialValuesAcc[field] = contractDetails[field];\n }\n return initialValuesAcc;\n },\n {} as Record<string, unknown>,\n );\n\n return {\n ...initialValues,\n effective_date: '',\n reason_for_change: '',\n job_title: employment.job_title,\n additional_comments: '',\n annual_gross_salary: convertFromCents(\n employment.contract_details?.annual_gross_salary as string,\n ),\n additional_comments_toggle: false,\n };\n}\n"],"mappings":"gFAOO,IAAMA,EAA0C,CACrD,KAAM,CAAE,MAAO,EAAG,KAAM,MAAO,EAC/B,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,CAC3D,EAEO,SAASC,EACdC,EACAC,EACA,CACA,GAAI,CAACD,EACH,MAAO,CAAC,EAGV,GAAI,CAACC,EACH,MAAO,CACL,GAAGD,EAAW,iBACd,eAAgB,GAChB,kBAAmB,GACnB,UAAWA,EAAW,UACtB,oBAAqB,GACrB,oBAAqBE,EACnBF,EAAW,kBAAkB,mBAC/B,CACF,EAGF,IAAMG,EAAYF,EAAO,IAAKG,GAAUA,EAAM,IAAI,EAC5CC,EAAmB,OAAO,KAAKL,GAAY,kBAAoB,CAAC,CAAC,EAcvE,MAAO,CACL,GAdoBG,EAAU,OAC9B,CAACG,EAAkBF,IAAU,CAE3B,GAAIC,EAAiB,SAASD,CAAK,EAAG,CACpC,IAAMG,EAAkBP,GAAY,iBAEpCM,EAAiBF,CAAK,EAAIG,EAAgBH,CAAK,CACjD,CACA,OAAOE,CACT,EACA,CAAC,CACH,EAIE,eAAgB,GAChB,kBAAmB,GACnB,UAAWN,EAAW,UACtB,oBAAqB,GACrB,oBAAqBE,EACnBF,EAAW,kBAAkB,mBAC/B,EACA,2BAA4B,EAC9B,CACF,CA/CgBQ,EAAAT,EAAA","names":["STEPS","buildInitialValues","employment","fields","convertFromCents","allFields","field","employmentFields","initialValuesAcc","contractDetails","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as s}from"./chunk-HZDCZFR5.js";import{b as n}from"./chunk-PGWKJ6FK.js";import{b as i}from"./chunk-2YTBWEC7.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as p}from"react/jsx-runtime";function F({onSubmit:l,onError:t,onSuccess:d}){let{onboardingBag:o}=n(),m=e(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 c=i(r?.fieldErrors||[],o.meta?.fields?.contract_details);t?.({error:r.error,rawError:r.rawError,fieldErrors:c})}}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit");return p(s,{defaultValues:o.stepState.values?.contract_details||o.initialValues.contract_details,onSubmit:m})}e(F,"ContractDetailsStep");export{F as a};
2
- //# sourceMappingURL=chunk-GCJCNDJ3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/components/ContractDetailsStep.tsx"],"sourcesContent":["import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\nimport { EmploymentResponse } from '@/src/client';\nimport { ContractDetailsFormPayload } from '@/src/flows/Onboarding/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\n\ntype ContractDetailsStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: ContractDetailsFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (response: EmploymentResponse) => 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 ContractDetailsStep({\n onSubmit,\n onError,\n onSuccess,\n}: ContractDetailsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.(\n onboardingBag.parseFormValues(payload) as ContractDetailsFormPayload,\n );\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response.data as EmploymentResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n onboardingBag.meta?.fields?.contract_details,\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 return (\n <OnboardingForm\n defaultValues={\n onboardingBag.stepState.values?.contract_details ||\n onboardingBag.initialValues.contract_details\n }\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"gKAuEI,cAAAA,MAAA,oBAtCG,SAASC,EAAoB,CAClC,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA6B,CAC3B,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EACzCC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,MAAMP,IACJG,EAAc,gBAAgBI,CAAO,CACvC,EACA,IAAMC,EAAW,MAAML,EAAc,SAASI,CAAO,EACrD,GAAIC,GAAU,KAAM,CAClB,MAAMN,IAAYM,EAAS,IAA0B,EACrDL,GAAe,KAAK,EACpB,MACF,CACA,GAAIK,GAAU,MAAO,CACnB,IAAMC,EAAwBC,EAC5BF,GAAU,aAAe,CAAC,EAC1BL,EAAc,MAAM,QAAQ,gBAC9B,EACAF,IAAU,CACR,MAAOO,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAaC,CACf,CAAC,CACH,CACF,OAASE,EAAgB,CACvBV,IAAU,CACR,MAAOU,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,EA7BqB,gBA+BrB,OACEb,EAACc,EAAA,CACC,cACET,EAAc,UAAU,QAAQ,kBAChCA,EAAc,cAAc,iBAE9B,SAAUE,EACZ,CAEJ,CA9CgBC,EAAAP,EAAA","names":["jsx","ContractDetailsStep","onSubmit","onError","onSuccess","onboardingBag","useOnboardingContext","handleSubmit","__name","payload","response","normalizedFieldErrors","normalizeFieldErrors","error","OnboardingForm"]}
@@ -1,2 +0,0 @@
1
- import{a as Le}from"./chunk-EM5UYWUQ.js";import{a as ke}from"./chunk-VAIBLWOY.js";import{a as Ce,b as Oe,c as Pe,d as Me,e as Te}from"./chunk-XNOLBKZC.js";import{a as ue,b as ye,c as pe,f as _e,g as Se,h as be,i as ge,j as Fe,k as Ee,m as he}from"./chunk-5KZXFQLZ.js";import{a as R}from"./chunk-2YTBWEC7.js";import{a as Ve}from"./chunk-PJBAQZ6G.js";import{c as h,d as L,f as W}from"./chunk-WXUIXZ7P.js";import{g as V}from"./chunk-43WMZDDH.js";import{a as l}from"./chunk-P37U34EQ.js";import{useEffect as st,useMemo as d,useRef as at,useState as we}from"react";import rt from"lodash.mergewith";import{jsx as Be}from"react/jsx-runtime";var ct={employment_basic_information:"basic_information",contract_details:"contract_details"},lt={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},mt=l(({isLoadingBasicInformationForm:f,isLoadingContractDetailsForm:J,isLoadingEmployment:D,isLoadingBenefitsOffersSchema:I,isLoadingBenefitOffers:i,isLoadingCompany:N,isLoadingCountries:C,employmentStatus:s,employmentId:_,currentStepName:a,basicInformationFields:A,contractDetailsFields:c})=>{let O=f||J||D||I||i||N||C,r=s&&Pe.includes(s),k=s&&!Me.includes(s),w=!!(_&&r&&a!=="review"),B=O||w,j=!!(w&&!O&&A.length>0&&c.length>0);return{isLoading:B,isNavigatingToReview:j,isEmploymentReadOnly:r,canInvite:k}},"getLoadingStates"),ht=l(({employmentId:f,companyId:J,countryCode:D,type:I,options:i,skipSteps:N,externalId:C,initialValues:s})=>{let _=at({select_country:{},basic_information:{},contract_details:{},benefits:{}}),[a,A]=we(f),[c,O]=we(D||null),{data:r,isLoading:k,refetch:w}=ue(a);f&&r?.country?.code&&!c&&O(r.country.code);let{data:B,isLoading:j}=pe(a),{data:q,isLoading:G,refetch:je}=ye(J),qe=N?.includes("select_country")?Oe:Ce,{fieldValues:S,stepState:n,setFieldValues:ve,previousStep:Re,nextStep:Je,goToStep:U,setStepValues:$}=Ve(qe),{selectCountryForm:v,isLoading:z}=Ee({jsfModify:i?.jsfModify?.select_country,queryOptions:{enabled:n.currentStep.name==="select_country"}}),K=be(i),Y=ge(i),Q=Fe(i),De=he(),{mutateAsync:Ie}=R(K),{mutateAsync:X}=R(Y),{mutateAsync:Ne}=R(Q),Ae=lt[n.currentStep.name]||"employment_basic_information",Ue=ct[Ae],xe=r?.[Ue]||{},Z=l(({form:e,options:o={},query:m={}})=>{let H=Object.keys(S).length>0?{...s,...n.values?.[n.currentStep.name],...S}:{...s,...xe};return _e({countryCode:c,form:e,fieldValues:H,query:m,options:{...o,queryOptions:{enabled:o.queryOptions?.enabled??!0},jsonSchemaVersion:o.jsonSchemaVersion}})},"useJSONSchema"),He=!!(c&&(n.currentStep.name==="basic_information"||f)),We=!!(c&&(n.currentStep.name==="contract_details"||f)),{data:u,isLoading:ee}=Z({form:"employment_basic_information",options:{jsfModify:i?.jsfModify?.basic_information,jsonSchemaVersion:i?.jsonSchemaVersion,queryOptions:{enabled:He}}}),b=i?.jsfModify?.contract_details?.fields?.annual_gross_salary,x=b&&typeof b=="object"&&"presentation"in b?b.presentation:void 0,te=i?.jsfModify?.contract_details?.fields?.equity_compensation,Ge=d(()=>({fields:{annual_gross_salary:{...b,presentation:{annual_gross_salary_conversion_properties:{label:x?.annual_gross_salary_conversion_properties?.label,description:x?.annual_gross_salary_conversion_properties?.description},desiredCurrency:q?.desired_currency,Component:l(e=>Be(Le,{desiredCurrency:q?.desired_currency||"",...e}),"Component")}},equity_compensation:{...te,presentation:{calculateDynamicProperties:l((e,o)=>{let m=e.equity_compensation?.offer_equity_compensation,M=o?.meta?.cost;return{extra:Be(ke,{offerEquity:m,equityCost:M})}},"calculateDynamicProperties")}}}}),[b,x,q?.desired_currency,te]),$e=Te(i?.jsonSchemaVersion),{data:y,isLoading:ne}=Z({form:"contract_details",query:{employment_id:a},options:{jsfModify:{...i?.jsfModify?.contract_details,fields:{...i?.jsfModify?.contract_details?.fields,...Ge.fields}},queryOptions:{enabled:We},jsonSchemaVersion:$e}}),{data:P,isLoading:oe}=Se(a,S,i),ie=d(()=>{if(n.currentStep.name==="benefits"){let e={...n.values?.[n.currentStep.name],...S};return rt({},B,e)}return{}},[n.currentStep.name,B,n.values,S]),t=d(()=>({select_country:v?.fields||[],basic_information:u?.fields||[],contract_details:y?.fields||[],benefits:P?.fields||[],review:[]}),[v?.fields,u?.fields,y?.fields,P?.fields]),ze={select_country:null,basic_information:u?.meta["x-jsf-fieldsets"],contract_details:y?.meta["x-jsf-fieldsets"],benefits:null,review:null},{country:Ke,basic_information:se={},contract_details:ae={},status:re}=r||{},ce=Ke?.code,le=n.currentStep.name,g=d(()=>L(t.select_country,{country:c||ce||""}),[t.select_country,c,ce]),F=d(()=>{let e={...s,...se};return L(t.basic_information,e)},[t.basic_information,se,s]),p=d(()=>{let e={...s,...ae};return L(t.contract_details,e)},[t.contract_details,ae,s]),E=d(()=>{let e={...s,...ie};return L(t.benefits,e)},[t.benefits,ie,s]),Ye=d(()=>r?{select_country:g,basic_information:W(t.basic_information,F),contract_details:r?.contract_details!==null?W(t.contract_details,p):p,benefits:E}:{select_country:g,basic_information:F,contract_details:p,benefits:E},[g,F,p,E,r,t]),{isLoading:Qe,isNavigatingToReview:me,isEmploymentReadOnly:Xe,canInvite:Ze}=d(()=>mt({isLoadingBasicInformationForm:ee,isLoadingContractDetailsForm:ne,isLoadingEmployment:k,isLoadingBenefitsOffersSchema:oe,isLoadingBenefitOffers:j,isLoadingCompany:G,isLoadingCountries:z,employmentId:f,employmentStatus:re,basicInformationFields:t.basic_information,contractDetailsFields:t.contract_details,currentStepName:le}),[ee,ne,k,oe,j,G,z,f,re,t.basic_information,t.contract_details,le]);st(()=>{me&&(_.current={select_country:V(g,t.select_country),basic_information:V(F,t.basic_information),contract_details:V(p,t.contract_details),benefits:V(E,t.benefits)},$({select_country:g,basic_information:F,contract_details:p,benefits:E,review:{}}),U("review"))},[F,E,p,U,me,g,$,t.basic_information,t.benefits,t.contract_details,t.select_country]);let de=l(e=>v&&n.currentStep.name==="select_country"?e:u&&n.currentStep.name==="basic_information"?h(e,u?.fields,{isPartialValidation:!1}):y&&n.currentStep.name==="contract_details"?h(e,y?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function et(e){let o=n.currentStep.name;o in _.current&&(_.current[o]=V(e,t[o]));let m=de(e);switch(je(),n.currentStep.name){case"select_country":return O(m.country),Promise.resolve({data:{countryCode:m.country}});case"basic_information":{let M=!a&&c,H=a&&c&&r?.country&&r?.country.code!==c;if(M||H){let it={basic_information:m,type:I,country_code:c,external_id:C};try{let T=await Ie(it),fe=T.data?.data?.employment?.id;return A(fe),await De.mutateAsync({employmentId:fe,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1}),T}catch(T){throw console.error("Error creating onboarding:",T),T}}else if(a)return X({employmentId:a,basic_information:m,pricing_plan_details:{frequency:"monthly"},external_id:C});return}case"contract_details":return X({employmentId:a,external_id:C,...{contract_details:m,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return Ne({employmentId:a,...e})}}l(et,"onSubmit");function tt(){Re()}l(tt,"back");function nt(){Je()}l(nt,"next");function ot(e){U(e)}return l(ot,"goTo"),{employmentId:a,creditRiskStatus:q?.default_legal_entity_credit_risk_status,fieldValues:S,stepState:n,fields:t[n.currentStep.name],isLoading:Qe,isSubmitting:K.isPending||Y.isPending||Q.isPending,initialValues:Ye,handleValidation:l(e=>{if(n.currentStep.name==="select_country")return v.handleValidation(e);if(n.currentStep.name==="benefits"&&P){let o=h(e,P?.fields,{isPartialValidation:!1});return P?.handleValidation(o)}if(u&&n.currentStep.name==="basic_information"){let o=h(e,u?.fields,{isPartialValidation:!1});return u?.handleValidation(o)}if(y&&n.currentStep.name==="contract_details"){let o=h(e,y?.fields,{isPartialValidation:!1});return y?.handleValidation(o)}return null},"handleValidation"),checkFieldUpdates:ve,parseFormValues:de,onSubmit:et,back:tt,next:nt,goTo:ot,meta:{fields:_.current,fieldsets:ze[n.currentStep.name]},refetchEmployment:w,employment:r,isEmploymentReadOnly:Xe,canInvite:Ze}},"useOnboarding");export{ht as a};
2
- //# sourceMappingURL=chunk-GKD2WI2W.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/hooks.tsx"],"sourcesContent":["import {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { Fields } from '@remoteoss/json-schema-form';\n\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmployment,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { FlowOptions, JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: Fields;\n contractDetailsFields: Fields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n benefits: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n });\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmployment(internalEmploymentId);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(options);\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n jsonSchemaVersion?: FlowOptions['jsonSchemaVersion'];\n };\n query?: Record<string, string>;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n jsonSchemaVersion: jsonSchemaOptions.jsonSchemaVersion,\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const customFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options?.jsonSchemaVersion);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...customFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n },\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<keyof typeof STEPS, Fields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n ]);\n\n const parseFormValues = (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n\n const parsedValues = parseFormValues(values);\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutation.mutateAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n\n return response;\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...values,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: keyof typeof STEPS) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: (values: FieldValues) => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n };\n};\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","mergeWith","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","externalId","onboardingInitialValues","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","refetchEmployment","useEmployment","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","customFields","useMemo","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","useEffect","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo","step"]}
@@ -1,2 +0,0 @@
1
- import{b as y}from"./chunk-WVDTHFGS.js";import{a}from"./chunk-43WMZDDH.js";import{a as o}from"./chunk-P37U34EQ.js";import*as w from"react";import*as f from"@radix-ui/react-checkbox";import{Check as B}from"lucide-react";import{jsx as h}from"react/jsx-runtime";var G=w.forwardRef(({className:e,...t},s)=>h(f.Root,{ref:s,className:a("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",e),...t,children:h(f.Indicator,{className:a("flex items-center justify-center text-current"),children:h(B,{className:"h-4 w-4"})})}));G.displayName=f.Root.displayName;import{useState as F,useRef as U,useEffect as V}from"react";import{Upload as A,X as E}from"lucide-react";import{jsx as d,jsxs as P}from"react/jsx-runtime";var L=o(e=>e?e.split(",").map(t=>t.trim().toUpperCase()).join(", "):null,"getAcceptedFormats");function se({onChange:e,className:t,multiple:s,accept:g,files:u}){let[v,b]=F(u||[]),N=U(null);V(()=>{u&&u.length>0&&b(u)},[u]);let I=o(l=>{l.preventDefault(),N.current?.click()},"handleClick"),z=o(l=>{if(l.target.files&&l.target.files.length>0){let m=Array.from(l.target.files);b(m),e(m)}},"handleChange"),_=o(l=>{b(m=>m.filter(T=>T.name!==l.name)),e(v.filter(m=>m.name!==l.name))},"onRemoveFile"),D=L(g);return P("div",{className:a("flex flex-col items-start gap-4",t),children:[d("input",{type:"file",ref:N,onChange:z,className:"hidden","aria-label":"File upload",multiple:s,accept:g}),P(y,{type:"button",onClick:I,className:"gap-2",children:[d(A,{className:"h-4 w-4"}),"Choose File"]}),D&&P("div",{className:"text-sm text-gray-600",children:["Accepted formats:"," ",d("span",{className:"font-medium",children:D})]}),v.length===0&&d("div",{className:"text-sm",children:s?d("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):d("span",{className:"font-medium",children:"No file selected."})}),v.length>0&&v.map((l,m)=>P("div",{className:"text-sm flex items-center gap-2",children:["Selected file: ",d("span",{className:"font-medium",children:l.name})," (",Math.round(l.size/1024)," KB)",d(y,{variant:"ghost",onClick:()=>_(l),children:d(E,{})})]},m))]})}o(se,"FileUploader");import*as p from"@radix-ui/react-radio-group";import{CircleIcon as M}from"lucide-react";import{jsx as x}from"react/jsx-runtime";function pe({className:e,...t}){return x(p.Root,{"data-slot":"radio-group",className:a("grid gap-3",e),...t})}o(pe,"RadioGroup");function ue({className:e,...t}){return x(p.Item,{"data-slot":"radio-group-item",className:a("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",e),...t,children:x(p.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:x(M,{className:"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}o(ue,"RadioGroupItem");import*as i from"@radix-ui/react-select";import{CheckIcon as j,ChevronDownIcon as k,ChevronUpIcon as H}from"lucide-react";import{jsx as r,jsxs as C}from"react/jsx-runtime";function be({...e}){return r(i.Root,{"data-slot":"select",...e})}o(be,"Select");function ye({...e}){return r(i.Group,{"data-slot":"select-group",...e})}o(ye,"SelectGroup");function he({...e}){return r(i.Value,{"data-slot":"select-value",...e})}o(he,"SelectValue");function Ce({className:e,children:t,...s}){return C(i.Trigger,{"data-slot":"select-trigger",className:a("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","focus-visible:border-focused",e),...s,children:[t,r(i.Icon,{asChild:!0,className:"absolute right-4",children:r(k,{className:"size-4"})})]})}o(Ce,"SelectTrigger");function Re({className:e,children:t,position:s="popper",...g}){return r(i.Portal,{children:C(i.Content,{"data-slot":"select-content",className:a("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",s==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:s,...g,children:[r(O,{}),r(i.Viewport,{className:a(s==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),r(X,{})]})})}o(Re,"SelectContent");function Se({className:e,children:t,...s}){return C(i.Item,{"data-slot":"select-item",className:a("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",e),...s,children:[r(i.ItemText,{children:t}),r("span",{className:"flex size-3.5 items-center justify-center",children:r(i.ItemIndicator,{children:r(j,{className:"size-4"})})})]})}o(Se,"SelectItem");function O({className:e,...t}){return r(i.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:a("flex cursor-default items-center justify-center py-1",e),...t,children:r(H,{className:"size-4"})})}o(O,"SelectScrollUpButton");function X({className:e,...t}){return r(i.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:a("flex cursor-default items-center justify-center py-1",e),...t,children:r(k,{className:"size-4"})})}o(X,"SelectScrollDownButton");import*as n from"@radix-ui/react-dialog";import{XIcon as q}from"lucide-react";import{jsx as c,jsxs as R}from"react/jsx-runtime";function ze({...e}){return c(n.Root,{"data-slot":"dialog",...e})}o(ze,"Dialog");function _e({...e}){return c(n.Trigger,{"data-slot":"dialog-trigger",...e})}o(_e,"DialogTrigger");function K({...e}){return c(n.Portal,{"data-slot":"dialog-portal",...e})}o(K,"DialogPortal");function W({className:e,...t}){return c(n.Overlay,{"data-slot":"dialog-overlay",className:a("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",e),...t})}o(W,"DialogOverlay");function Te({className:e,children:t,...s}){return R(K,{"data-slot":"dialog-portal",children:[c(W,{}),R(n.Content,{"data-slot":"dialog-content",className:a("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",e),...s,children:[t,R(n.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",children:[c(q,{}),c("span",{className:"sr-only",children:"Close"})]})]})]})}o(Te,"DialogContent");function Be({className:e,...t}){return c("div",{"data-slot":"dialog-header",className:a("flex flex-col gap-2 text-center sm:text-left",e),...t})}o(Be,"DialogHeader");function Ge({className:e,...t}){return c("div",{"data-slot":"dialog-footer",className:a("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}o(Ge,"DialogFooter");function Fe({className:e,...t}){return c(n.Title,{"data-slot":"dialog-title",className:a("text-lg leading-none font-semibold",e),...t})}o(Fe,"DialogTitle");function Ue({className:e,...t}){return c(n.Description,{"data-slot":"dialog-description",className:a("text-muted-foreground text-sm",e),...t})}o(Ue,"DialogDescription");import{cva as Y}from"class-variance-authority";import{jsx as S}from"react/jsx-runtime";var J=Y("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",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"bg-card bg-warning border-warning-border [&>svg]:text-current"}},defaultVariants:{variant:"default"}});function je({className:e,variant:t,...s}){return S("div",{"data-slot":"alert",role:"alert",className:a(J({variant:t}),e),...s})}o(je,"Alert");function He({className:e,...t}){return S("div",{"data-slot":"alert-title",className:a("col-start-2 min-h-4 font-medium tracking-tight",e),...t})}o(He,"AlertTitle");function Oe({className:e,...t}){return S("div",{"data-slot":"alert-description",className:a("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed inline-block",e),...t})}o(Oe,"AlertDescription");export{G as a,se as b,pe as c,ue as d,be as e,ye as f,he as g,Ce as h,Re as i,Se as j,ze as k,_e as l,Te as m,Be as n,Ge as o,Fe as p,Ue as q,je as r,He as s,Oe as t};
2
- //# sourceMappingURL=chunk-GOGPCCBS.js.map