@remoteoss/remote-flows 1.3.0 → 1.3.1

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 (365) hide show
  1. package/dist/{PdfPreview-6C3GGXIN.js → PdfPreview-2VXVDUFP.js} +2 -2
  2. package/dist/{chunk-N6BBMT7W.js → chunk-26Y25KF6.js} +2 -2
  3. package/dist/{chunk-IBHNWMMB.js → chunk-2MX3WPCK.js} +2 -2
  4. package/dist/{chunk-UA6MNQLD.js → chunk-3BOFG6MK.js} +2 -2
  5. package/dist/{chunk-AT7VHJMW.js → chunk-3DRSYLBM.js} +2 -2
  6. package/dist/{chunk-C4DLDK36.js → chunk-3NMCXHSQ.js} +2 -2
  7. package/dist/{chunk-OP72BS23.js → chunk-447M3MFN.js} +2 -2
  8. package/dist/{chunk-VBO75DXV.js → chunk-4G2UMXRE.js} +2 -2
  9. package/dist/{chunk-GE5DH3UF.js → chunk-4GXONSSK.js} +2 -2
  10. package/dist/{chunk-M2TLNSTK.js → chunk-4OVFMUUJ.js} +2 -2
  11. package/dist/{chunk-EC7QVRRX.js → chunk-4UAHJOHZ.js} +2 -2
  12. package/dist/{chunk-QUQLW5YW.js → chunk-5JQMTMHR.js} +2 -2
  13. package/dist/{chunk-NDQ6UQFG.js → chunk-5S54GMUJ.js} +2 -2
  14. package/dist/chunk-5WFWHEXV.js +2 -0
  15. package/dist/chunk-5WFWHEXV.js.map +1 -0
  16. package/dist/{chunk-OKM7DRCF.js → chunk-6CASSN2Z.js} +2 -2
  17. package/dist/chunk-6DHV4GT6.js +2 -0
  18. package/dist/{chunk-LG2LVO4C.js → chunk-6E467YF3.js} +2 -2
  19. package/dist/{chunk-XRI6PRXK.js → chunk-6E5GX7W3.js} +2 -2
  20. package/dist/{chunk-T6HCUFYI.js → chunk-765OB2K5.js} +2 -2
  21. package/dist/chunk-AD53V4MM.js +2 -0
  22. package/dist/chunk-AD53V4MM.js.map +1 -0
  23. package/dist/{chunk-2FQ2KNP4.js → chunk-ADOJOLLL.js} +2 -2
  24. package/dist/{chunk-35RMJMSH.js → chunk-AF3YOXUE.js} +2 -2
  25. package/dist/{chunk-44IOQYR2.js → chunk-AFGXZINW.js} +2 -2
  26. package/dist/{chunk-6S6H4NAQ.js → chunk-AL2HSQPC.js} +2 -2
  27. package/dist/{chunk-Z6TCBVRG.js → chunk-B2OOX56F.js} +2 -2
  28. package/dist/{chunk-EYQ4PYUT.js → chunk-BB2GHYJY.js} +2 -2
  29. package/dist/chunk-BB2GHYJY.js.map +1 -0
  30. package/dist/{chunk-Y5P5IJRN.js → chunk-BPIGB72P.js} +2 -2
  31. package/dist/chunk-CATDB2YM.js +2 -0
  32. package/dist/chunk-CATDB2YM.js.map +1 -0
  33. package/dist/{chunk-EGRGQWIY.js → chunk-CM2YPABC.js} +2 -2
  34. package/dist/{chunk-66N57DKF.js → chunk-CR7AIZKA.js} +2 -2
  35. package/dist/{chunk-WCEHP5N7.js → chunk-CWAUKF77.js} +2 -2
  36. package/dist/{chunk-A3GZSC5Z.js → chunk-CX735AP4.js} +2 -2
  37. package/dist/{chunk-3CFU6LKQ.js → chunk-ER7DFMME.js} +2 -2
  38. package/dist/chunk-FOPSJRQG.js +2 -0
  39. package/dist/chunk-FOPSJRQG.js.map +1 -0
  40. package/dist/{chunk-NABPCULM.js → chunk-FQQKCROC.js} +2 -2
  41. package/dist/chunk-FUBLGAPH.js +2 -0
  42. package/dist/chunk-FUBLGAPH.js.map +1 -0
  43. package/dist/{chunk-5DKNCKV7.js → chunk-GAF5TFZJ.js} +2 -2
  44. package/dist/chunk-GFVGV76O.js +2 -0
  45. package/dist/chunk-GFVGV76O.js.map +1 -0
  46. package/dist/{chunk-UOOUV52J.js → chunk-GGPEKIIH.js} +2 -2
  47. package/dist/{chunk-72OH7PSF.js → chunk-GPLI6GGL.js} +2 -2
  48. package/dist/chunk-GVSAZND2.js +2 -0
  49. package/dist/chunk-GVSAZND2.js.map +1 -0
  50. package/dist/chunk-HIQNB5UN.js +2 -0
  51. package/dist/chunk-HIQNB5UN.js.map +1 -0
  52. package/dist/{chunk-ARTSDUSS.js → chunk-HRG5MSVG.js} +2 -2
  53. package/dist/chunk-HRG5MSVG.js.map +1 -0
  54. package/dist/chunk-IJ6325YO.js +2 -0
  55. package/dist/chunk-IJ6325YO.js.map +1 -0
  56. package/dist/{chunk-PMTKQME6.js → chunk-ILOKQ6OH.js} +2 -2
  57. package/dist/{chunk-PZNXAOZH.js → chunk-JS3H25UQ.js} +2 -2
  58. package/dist/{chunk-KKGRYDZA.js → chunk-K3XVYHGV.js} +2 -2
  59. package/dist/chunk-KDI2AVBF.js +2 -0
  60. package/dist/chunk-KDI2AVBF.js.map +1 -0
  61. package/dist/{chunk-ZIN2OWTH.js → chunk-LAXQMTDQ.js} +2 -2
  62. package/dist/{chunk-MEZ7LYUK.js → chunk-LFQDVSKU.js} +2 -2
  63. package/dist/{chunk-MXLQEDRJ.js → chunk-LHNX27TY.js} +2 -2
  64. package/dist/{chunk-2Y3SXQ5B.js → chunk-LOHRUY4J.js} +1 -1
  65. package/dist/chunk-LOHRUY4J.js.map +1 -0
  66. package/dist/{chunk-3Z6AFLXW.js → chunk-LSNMODBH.js} +2 -2
  67. package/dist/chunk-NFWNYW2E.js +2 -0
  68. package/dist/chunk-NFWNYW2E.js.map +1 -0
  69. package/dist/{chunk-A65WMO6K.js → chunk-NP3HE6QX.js} +2 -2
  70. package/dist/{chunk-LKMPZJIW.js → chunk-NY7LII5R.js} +2 -2
  71. package/dist/chunk-OKMERBJL.js +2 -0
  72. package/dist/chunk-OKMERBJL.js.map +1 -0
  73. package/dist/chunk-P5PRB2JC.js +2 -0
  74. package/dist/chunk-P5PRB2JC.js.map +1 -0
  75. package/dist/chunk-P5QKSFOE.js +2 -0
  76. package/dist/chunk-P5QKSFOE.js.map +1 -0
  77. package/dist/{chunk-F3KEIVSE.js → chunk-PC5JG4TT.js} +2 -2
  78. package/dist/{chunk-LJGCFFAT.js → chunk-PJN2YJO4.js} +2 -2
  79. package/dist/chunk-PNRHCOPF.js +2 -0
  80. package/dist/chunk-PNRHCOPF.js.map +1 -0
  81. package/dist/{chunk-VXA6RPA5.js → chunk-PS6EXVKH.js} +2 -2
  82. package/dist/{chunk-EQOU2VPX.js → chunk-Q2JVGEYM.js} +2 -2
  83. package/dist/{chunk-LJVV6MMB.js → chunk-SQVJRTTA.js} +2 -2
  84. package/dist/chunk-SRR73QPD.js +2 -0
  85. package/dist/chunk-SRR73QPD.js.map +1 -0
  86. package/dist/{chunk-Z2WV73EX.js → chunk-T6KVMOX7.js} +2 -2
  87. package/dist/chunk-TC7EQZJK.js +2 -0
  88. package/dist/chunk-TC7EQZJK.js.map +1 -0
  89. package/dist/{chunk-6P4DTWYK.js → chunk-U2HWB5HI.js} +2 -2
  90. package/dist/{chunk-L3Z2G32A.js → chunk-UQCSN47K.js} +1 -1
  91. package/dist/chunk-UQCSN47K.js.map +1 -0
  92. package/dist/chunk-W4KHMUDZ.js +2 -0
  93. package/dist/chunk-W4KHMUDZ.js.map +1 -0
  94. package/dist/chunk-WINYXC33.js +2 -0
  95. package/dist/chunk-WINYXC33.js.map +1 -0
  96. package/dist/{chunk-7COHIUGW.js → chunk-XCA33UL6.js} +2 -2
  97. package/dist/chunk-XCA33UL6.js.map +1 -0
  98. package/dist/{chunk-QIVDIOJG.js → chunk-XGECMN4V.js} +2 -2
  99. package/dist/{chunk-BVDT43OO.js → chunk-XTXPKDZ7.js} +2 -2
  100. package/dist/{chunk-TVJYCR33.js → chunk-XXPJHT5A.js} +2 -2
  101. package/dist/{chunk-BL7OYWNX.js → chunk-XXXQA4SY.js} +2 -2
  102. package/dist/{chunk-HDNBZ6CB.js → chunk-Z3AKMQ4S.js} +2 -2
  103. package/dist/{chunk-4GDEWYZC.js → chunk-Z5A2M5EU.js} +2 -2
  104. package/dist/{chunk-OXL3QGHT.js → chunk-ZCXTTVGV.js} +2 -2
  105. package/dist/chunk-ZCXTTVGV.js.map +1 -0
  106. package/dist/{chunk-KGKDSOER.js → chunk-ZFKHCC4Z.js} +2 -2
  107. package/dist/{chunk-FZDQ7EEI.js → chunk-ZT72WOPZ.js} +2 -2
  108. package/dist/chunk-ZUNMNGRC.js +2 -0
  109. package/dist/chunk-ZUNMNGRC.js.map +1 -0
  110. package/dist/chunk-ZZPYYZNT.js +2 -0
  111. package/dist/chunk-ZZPYYZNT.js.map +1 -0
  112. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  113. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  114. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  115. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +5 -4
  116. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  117. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  118. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  119. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  120. package/dist/flows/ContractAmendment/context.d.ts +9 -8
  121. package/dist/flows/ContractAmendment/hooks.d.ts +10 -9
  122. package/dist/flows/ContractAmendment/hooks.js +1 -1
  123. package/dist/flows/ContractAmendment/index.d.ts +5 -4
  124. package/dist/flows/ContractAmendment/index.js +1 -1
  125. package/dist/flows/ContractAmendment/types.d.ts +2 -3
  126. package/dist/flows/ContractAmendment/utils.d.ts +5 -3
  127. package/dist/flows/ContractAmendment/utils.js +1 -1
  128. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -6
  129. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  130. package/dist/flows/ContractorOnboarding/api.d.ts +15 -8
  131. package/dist/flows/ContractorOnboarding/api.js +1 -1
  132. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -5
  133. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  134. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -6
  135. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  136. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -6
  137. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  138. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +9 -10
  139. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  140. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
  141. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  142. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  143. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
  144. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -6
  145. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  146. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -5
  147. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  148. package/dist/flows/ContractorOnboarding/context.d.ts +6 -7
  149. package/dist/flows/ContractorOnboarding/hooks.d.ts +7 -8
  150. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  151. package/dist/flows/ContractorOnboarding/index.d.ts +5 -6
  152. package/dist/flows/ContractorOnboarding/index.js +1 -1
  153. package/dist/flows/ContractorOnboarding/types.d.ts +5 -6
  154. package/dist/flows/ContractorOnboarding/utils.d.ts +4 -5
  155. package/dist/flows/ContractorOnboarding/utils.js +1 -1
  156. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -4
  157. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  158. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -4
  159. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  160. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  161. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  162. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -3
  163. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  164. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -3
  165. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  166. package/dist/flows/CostCalculator/api.d.ts +9 -6
  167. package/dist/flows/CostCalculator/api.js +1 -1
  168. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  169. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  170. package/dist/flows/CostCalculator/context.d.ts +3 -4
  171. package/dist/flows/CostCalculator/hooks.d.ts +3 -4
  172. package/dist/flows/CostCalculator/hooks.js +1 -1
  173. package/dist/flows/CostCalculator/index.d.ts +4 -5
  174. package/dist/flows/CostCalculator/index.js +1 -1
  175. package/dist/flows/CostCalculator/types.d.ts +2 -3
  176. package/dist/flows/CostCalculator/utils.d.ts +3 -4
  177. package/dist/flows/CostCalculator/utils.js +1 -1
  178. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -5
  179. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  180. package/dist/flows/Onboarding/api.d.ts +20 -13
  181. package/dist/flows/Onboarding/api.js +1 -1
  182. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  183. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  184. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -5
  185. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  186. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -5
  187. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  188. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -5
  189. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  190. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  191. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +8 -9
  192. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  193. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  194. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  195. package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
  196. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -5
  197. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  198. package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
  199. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -5
  200. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  201. package/dist/flows/Onboarding/context.d.ts +7 -8
  202. package/dist/flows/Onboarding/hooks.d.ts +6 -7
  203. package/dist/flows/Onboarding/hooks.js +1 -1
  204. package/dist/flows/Onboarding/index.d.ts +4 -5
  205. package/dist/flows/Onboarding/index.js +1 -1
  206. package/dist/flows/Onboarding/types.d.ts +4 -5
  207. package/dist/flows/Onboarding/utils.d.ts +4 -5
  208. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +6 -5
  209. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  210. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +6 -5
  211. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  212. package/dist/flows/Termination/PaidTimeOffForm.d.ts +6 -5
  213. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  214. package/dist/flows/Termination/TerminationBack.js +1 -1
  215. package/dist/flows/Termination/TerminationDetailsForm.d.ts +6 -5
  216. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  217. package/dist/flows/Termination/TerminationFlow.d.ts +6 -5
  218. package/dist/flows/Termination/TerminationFlow.js +1 -1
  219. package/dist/flows/Termination/TerminationForm.d.ts +7 -6
  220. package/dist/flows/Termination/TerminationForm.js +1 -1
  221. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  222. package/dist/flows/Termination/api.d.ts +16 -11
  223. package/dist/flows/Termination/api.js +1 -1
  224. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.js +1 -1
  225. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
  226. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  227. package/dist/flows/Termination/components/AcknowledgeInformation/constants.js +1 -1
  228. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +8 -7
  229. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  230. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +8 -7
  231. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  232. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +8 -7
  233. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  234. package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
  235. package/dist/flows/Termination/context.d.ts +10 -9
  236. package/dist/flows/Termination/hooks.d.ts +6 -5
  237. package/dist/flows/Termination/hooks.js +1 -1
  238. package/dist/flows/Termination/index.d.ts +8 -7
  239. package/dist/flows/Termination/index.js +1 -1
  240. package/dist/flows/Termination/json-schemas/employeeComunication.js +1 -1
  241. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  242. package/dist/flows/Termination/json-schemas/schema.d.ts +6 -5
  243. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  244. package/dist/flows/Termination/types.d.ts +6 -5
  245. package/dist/flows/Termination/utils.d.ts +6 -5
  246. package/dist/flows/Termination/utils.js +1 -1
  247. package/dist/flows/types.d.ts +4 -21
  248. package/dist/index.d.ts +11 -10
  249. package/dist/index.js +1 -1
  250. package/dist/index.js.map +1 -1
  251. package/dist/internals.d.ts +5 -1
  252. package/dist/internals.js +1 -1
  253. package/dist/{mutations-C051uRcC.d.ts → mutations-Dhsqyt9R.d.ts} +1 -1
  254. package/dist/{remoteFlows-B9Nl1qjN.d.ts → remoteFlows-8lgzhRZb.d.ts} +3 -2
  255. package/dist/{types-DqaKYRUE.d.ts → types-7X9Do4Qx.d.ts} +8 -8
  256. package/dist/{types-Ckh2r3F3.d.ts → types-BH1usu8z.d.ts} +1 -1
  257. package/dist/{types-Ci-EdBDb.d.ts → types-CR6ZHxiM.d.ts} +10 -11
  258. package/dist/{types-Dx-2ocvG.d.ts → types-CgFQV0b1.d.ts} +9 -10
  259. package/dist/{types.gen-D2nbxMA0.d.ts → types.gen-q3-YX6jr.d.ts} +1 -1
  260. package/dist/{utils-CjDMg_Yr.d.ts → utils-CGX-jPIw.d.ts} +1 -0
  261. package/package.json +1 -2
  262. package/dist/chunk-2Y3SXQ5B.js.map +0 -1
  263. package/dist/chunk-3F77NXWU.js +0 -2
  264. package/dist/chunk-3F77NXWU.js.map +0 -1
  265. package/dist/chunk-5C3NU7R3.js +0 -2
  266. package/dist/chunk-5C3NU7R3.js.map +0 -1
  267. package/dist/chunk-5LSHRCAR.js +0 -2
  268. package/dist/chunk-5LSHRCAR.js.map +0 -1
  269. package/dist/chunk-6GTRAHWJ.js +0 -2
  270. package/dist/chunk-6GTRAHWJ.js.map +0 -1
  271. package/dist/chunk-7COHIUGW.js.map +0 -1
  272. package/dist/chunk-ARTSDUSS.js.map +0 -1
  273. package/dist/chunk-DV6PCBAX.js +0 -2
  274. package/dist/chunk-DV6PCBAX.js.map +0 -1
  275. package/dist/chunk-EDVJBPCB.js +0 -2
  276. package/dist/chunk-EDVJBPCB.js.map +0 -1
  277. package/dist/chunk-EHAZWZ3O.js +0 -2
  278. package/dist/chunk-EHAZWZ3O.js.map +0 -1
  279. package/dist/chunk-ERRQIROU.js +0 -2
  280. package/dist/chunk-ERRQIROU.js.map +0 -1
  281. package/dist/chunk-ETYRNQJJ.js +0 -2
  282. package/dist/chunk-ETYRNQJJ.js.map +0 -1
  283. package/dist/chunk-EYQ4PYUT.js.map +0 -1
  284. package/dist/chunk-GCTHZSIN.js +0 -2
  285. package/dist/chunk-GCTHZSIN.js.map +0 -1
  286. package/dist/chunk-GHJBEQIR.js +0 -2
  287. package/dist/chunk-GHJBEQIR.js.map +0 -1
  288. package/dist/chunk-GP6PRZVX.js +0 -2
  289. package/dist/chunk-GP6PRZVX.js.map +0 -1
  290. package/dist/chunk-HZVYZQ3Z.js +0 -2
  291. package/dist/chunk-HZVYZQ3Z.js.map +0 -1
  292. package/dist/chunk-IWA5B4U6.js +0 -2
  293. package/dist/chunk-L3Z2G32A.js.map +0 -1
  294. package/dist/chunk-LQBVRVXH.js +0 -2
  295. package/dist/chunk-LQBVRVXH.js.map +0 -1
  296. package/dist/chunk-OFI5KLQ4.js +0 -2
  297. package/dist/chunk-OFI5KLQ4.js.map +0 -1
  298. package/dist/chunk-OXL3QGHT.js.map +0 -1
  299. package/dist/chunk-RR55GUDT.js +0 -2
  300. package/dist/chunk-RR55GUDT.js.map +0 -1
  301. package/dist/chunk-SIYKTLFS.js +0 -2
  302. package/dist/chunk-SIYKTLFS.js.map +0 -1
  303. package/dist/chunk-SXR333SU.js +0 -2
  304. package/dist/chunk-SXR333SU.js.map +0 -1
  305. package/dist/chunk-Y2NSR2N6.js +0 -2
  306. package/dist/chunk-Y2NSR2N6.js.map +0 -1
  307. package/dist/chunk-ZYRGEEPU.js +0 -2
  308. package/dist/chunk-ZYRGEEPU.js.map +0 -1
  309. /package/dist/{PdfPreview-6C3GGXIN.js.map → PdfPreview-2VXVDUFP.js.map} +0 -0
  310. /package/dist/{chunk-N6BBMT7W.js.map → chunk-26Y25KF6.js.map} +0 -0
  311. /package/dist/{chunk-IBHNWMMB.js.map → chunk-2MX3WPCK.js.map} +0 -0
  312. /package/dist/{chunk-UA6MNQLD.js.map → chunk-3BOFG6MK.js.map} +0 -0
  313. /package/dist/{chunk-AT7VHJMW.js.map → chunk-3DRSYLBM.js.map} +0 -0
  314. /package/dist/{chunk-C4DLDK36.js.map → chunk-3NMCXHSQ.js.map} +0 -0
  315. /package/dist/{chunk-OP72BS23.js.map → chunk-447M3MFN.js.map} +0 -0
  316. /package/dist/{chunk-VBO75DXV.js.map → chunk-4G2UMXRE.js.map} +0 -0
  317. /package/dist/{chunk-GE5DH3UF.js.map → chunk-4GXONSSK.js.map} +0 -0
  318. /package/dist/{chunk-M2TLNSTK.js.map → chunk-4OVFMUUJ.js.map} +0 -0
  319. /package/dist/{chunk-EC7QVRRX.js.map → chunk-4UAHJOHZ.js.map} +0 -0
  320. /package/dist/{chunk-QUQLW5YW.js.map → chunk-5JQMTMHR.js.map} +0 -0
  321. /package/dist/{chunk-NDQ6UQFG.js.map → chunk-5S54GMUJ.js.map} +0 -0
  322. /package/dist/{chunk-OKM7DRCF.js.map → chunk-6CASSN2Z.js.map} +0 -0
  323. /package/dist/{chunk-IWA5B4U6.js.map → chunk-6DHV4GT6.js.map} +0 -0
  324. /package/dist/{chunk-LG2LVO4C.js.map → chunk-6E467YF3.js.map} +0 -0
  325. /package/dist/{chunk-XRI6PRXK.js.map → chunk-6E5GX7W3.js.map} +0 -0
  326. /package/dist/{chunk-T6HCUFYI.js.map → chunk-765OB2K5.js.map} +0 -0
  327. /package/dist/{chunk-2FQ2KNP4.js.map → chunk-ADOJOLLL.js.map} +0 -0
  328. /package/dist/{chunk-35RMJMSH.js.map → chunk-AF3YOXUE.js.map} +0 -0
  329. /package/dist/{chunk-44IOQYR2.js.map → chunk-AFGXZINW.js.map} +0 -0
  330. /package/dist/{chunk-6S6H4NAQ.js.map → chunk-AL2HSQPC.js.map} +0 -0
  331. /package/dist/{chunk-Z6TCBVRG.js.map → chunk-B2OOX56F.js.map} +0 -0
  332. /package/dist/{chunk-Y5P5IJRN.js.map → chunk-BPIGB72P.js.map} +0 -0
  333. /package/dist/{chunk-EGRGQWIY.js.map → chunk-CM2YPABC.js.map} +0 -0
  334. /package/dist/{chunk-66N57DKF.js.map → chunk-CR7AIZKA.js.map} +0 -0
  335. /package/dist/{chunk-WCEHP5N7.js.map → chunk-CWAUKF77.js.map} +0 -0
  336. /package/dist/{chunk-A3GZSC5Z.js.map → chunk-CX735AP4.js.map} +0 -0
  337. /package/dist/{chunk-3CFU6LKQ.js.map → chunk-ER7DFMME.js.map} +0 -0
  338. /package/dist/{chunk-NABPCULM.js.map → chunk-FQQKCROC.js.map} +0 -0
  339. /package/dist/{chunk-5DKNCKV7.js.map → chunk-GAF5TFZJ.js.map} +0 -0
  340. /package/dist/{chunk-UOOUV52J.js.map → chunk-GGPEKIIH.js.map} +0 -0
  341. /package/dist/{chunk-72OH7PSF.js.map → chunk-GPLI6GGL.js.map} +0 -0
  342. /package/dist/{chunk-PMTKQME6.js.map → chunk-ILOKQ6OH.js.map} +0 -0
  343. /package/dist/{chunk-PZNXAOZH.js.map → chunk-JS3H25UQ.js.map} +0 -0
  344. /package/dist/{chunk-KKGRYDZA.js.map → chunk-K3XVYHGV.js.map} +0 -0
  345. /package/dist/{chunk-ZIN2OWTH.js.map → chunk-LAXQMTDQ.js.map} +0 -0
  346. /package/dist/{chunk-MEZ7LYUK.js.map → chunk-LFQDVSKU.js.map} +0 -0
  347. /package/dist/{chunk-MXLQEDRJ.js.map → chunk-LHNX27TY.js.map} +0 -0
  348. /package/dist/{chunk-3Z6AFLXW.js.map → chunk-LSNMODBH.js.map} +0 -0
  349. /package/dist/{chunk-A65WMO6K.js.map → chunk-NP3HE6QX.js.map} +0 -0
  350. /package/dist/{chunk-LKMPZJIW.js.map → chunk-NY7LII5R.js.map} +0 -0
  351. /package/dist/{chunk-F3KEIVSE.js.map → chunk-PC5JG4TT.js.map} +0 -0
  352. /package/dist/{chunk-LJGCFFAT.js.map → chunk-PJN2YJO4.js.map} +0 -0
  353. /package/dist/{chunk-VXA6RPA5.js.map → chunk-PS6EXVKH.js.map} +0 -0
  354. /package/dist/{chunk-EQOU2VPX.js.map → chunk-Q2JVGEYM.js.map} +0 -0
  355. /package/dist/{chunk-LJVV6MMB.js.map → chunk-SQVJRTTA.js.map} +0 -0
  356. /package/dist/{chunk-Z2WV73EX.js.map → chunk-T6KVMOX7.js.map} +0 -0
  357. /package/dist/{chunk-6P4DTWYK.js.map → chunk-U2HWB5HI.js.map} +0 -0
  358. /package/dist/{chunk-QIVDIOJG.js.map → chunk-XGECMN4V.js.map} +0 -0
  359. /package/dist/{chunk-BVDT43OO.js.map → chunk-XTXPKDZ7.js.map} +0 -0
  360. /package/dist/{chunk-TVJYCR33.js.map → chunk-XXPJHT5A.js.map} +0 -0
  361. /package/dist/{chunk-BL7OYWNX.js.map → chunk-XXXQA4SY.js.map} +0 -0
  362. /package/dist/{chunk-HDNBZ6CB.js.map → chunk-Z3AKMQ4S.js.map} +0 -0
  363. /package/dist/{chunk-4GDEWYZC.js.map → chunk-Z5A2M5EU.js.map} +0 -0
  364. /package/dist/{chunk-KGKDSOER.js.map → chunk-ZFKHCC4Z.js.map} +0 -0
  365. /package/dist/{chunk-FZDQ7EEI.js.map → chunk-ZT72WOPZ.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{a as v}from"./chunk-6CASSN2Z.js";import{a as h}from"./chunk-XFD3ULUF.js";import{a as i,b as m,c as b,d as g}from"./chunk-DFJNVGK4.js";import{b as D,d as T}from"./chunk-KDI2AVBF.js";import{a as l}from"./chunk-P5QKSFOE.js";import{c}from"./chunk-W3YE53JN.js";import{d as p}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMutation as C,useQuery as O}from"@tanstack/react-query";function P(o){return Object.entries(o).reduce((t,[a,r])=>({...t,[a]:b(r)}),{})}n(P,"formatTimeoffValues");function x(o){let t=o?.contract_details?.available_pto,a=o?.contract_details?.available_pto_type;return o?.country?.code==="USA"&&a==="unlimited"?{value:t===0?20:t}:a==="unlimited"&&t>0?{value:t}:{value:t}}n(x,"getMinimumStatutoryDays");function F(o,t){let a=0,r=0;return o.forEach(e=>{e.timeoff_days?.forEach(s=>{new Date(s.day)<=t?a+=s.hours||0:r+=s.hours||0})}),{before:a,after:r}}n(F,"getAllTimeoffHoursBeforeDate");var Q=n(({employmentId:o,date:t,options:a})=>D({employmentId:o,timeoffType:"paid_time_off",status:"approved",options:{enabled:a?.enabled,select:n(r=>{let{before:e,after:s}=F(r?.data?.timeoffs||[],new Date(t));return{bookedDaysBeforeTermination:m(e),bookedDaysAfterTermination:m(s)}},"select")}}),"useBookedTimeoffBeforeAndAfterTerminationQuery"),z=n(({employmentId:o,proposedTerminationDate:t,employment:a})=>{let{value:r=0}=x(a),e=T({employmentId:o}),s=Q({employmentId:o,date:t}),y=e.data?.data?.[0].annual_entitlement.type==="limited"?{days:e.data?.data?.[0].annual_entitlement.days,hours:e.data?.data?.[0].annual_entitlement.hours}:{days:r,hours:0},d={days:e.data?.data?.[0].booked.days||0,hours:e.data?.data?.[0].booked.hours||0},u=e.data?.data?.[0].current_entitlement.type==="limited"?{days:e.data?.data?.[0].current_entitlement.days||0,hours:e.data?.data?.[0].current_entitlement.hours||0}:{days:r,hours:0},f={days:e.data?.data?.[0].used.days||0,hours:e.data?.data?.[0].used.hours||0},_=s.data?.bookedDaysBeforeTermination||{days:0,hours:0},k=s.data?.bookedDaysAfterTermination||{days:0,hours:0},A=i(u.days,u.hours),B=i(f.days,f.hours),H=i(d.days,d.hours),S=A-B-H,E=g(m(S));return{data:{...P({entitledDays:y,bookedDays:d,usedDays:f,approvedDaysBeforeTermination:_,approvedDaysAfterTermination:k,remainingDays:E,currentEntitlementDays:u}),isUnlimitedPto:a?.contract_details?.available_pto_type==="unlimited"},isLoading:e.isLoading||s.isLoading,isError:e.isError||s.isError,error:e.error||s.error}},"useSummaryTimeOffDataQuery"),G=n(()=>{let{client:o}=p();return C({mutationFn:n(t=>c({client:o,body:t}),"mutationFn")})},"useCreateTermination"),W=n(({formValues:o,jsfModify:t,step:a})=>O({queryKey:["rmt-flows-termination-schema",a],queryFn:n(()=>v[a]??h,"queryFn"),select:n(({data:r})=>{let e=r?.schema||{};return l(e,o||{},{jsfModify:t})},"select")}),"useTerminationSchema");export{Q as a,z as b,G as c,W as d};
2
+ //# sourceMappingURL=chunk-GFVGV76O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Termination/api.ts"],"sourcesContent":["import {\n CreateOffboardingParams,\n postCreateOffboarding,\n Timeoff,\n} from '@/src/client';\nimport {\n useTimeOffLeavePoliciesSummaryQuery,\n useTimeOffQuery,\n} from '@/src/common/api';\nimport { useClient } from '@/src/context';\nimport { Employment } from '@/src/flows/Onboarding/types';\nimport { defaultSchema } from '@/src/flows/Termination/json-schemas/defaultSchema';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { JSFModify } from '@/src/flows/types';\nimport {\n clampNegativeValuesIfApplicable,\n convertTotalHoursToDaysAndHours,\n convertToTotalHours,\n DaysAndHours,\n formatAsDecimal,\n} from '@/src/lib/time';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { schema } from '@/src/flows/Termination/json-schemas/schema';\n\nfunction formatTimeoffValues(\n values: Record<string, DaysAndHours>,\n): Record<string, string> {\n return Object.entries(values).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: formatAsDecimal(value),\n }),\n {},\n );\n}\n\nfunction getMinimumStatutoryDays(employment?: Employment) {\n const availablePto = employment?.contract_details?.available_pto as number;\n const ptoType = employment?.contract_details?.available_pto_type as\n | 'unlimited'\n | 'fixed';\n const countryCode = employment?.country?.code;\n\n // Special handling for countries without statutory minimums\n if (countryCode === 'USA' && ptoType === 'unlimited') {\n // USA has no minimum, but Remote recommends 20\n return {\n value: availablePto === 0 ? 20 : availablePto,\n };\n }\n\n // For most countries with unlimited PTO, available_pto IS the statutory minimum\n if (ptoType === 'unlimited' && availablePto > 0) {\n return {\n value: availablePto,\n };\n }\n\n // For fixed PTO, it's just the entitlement\n return {\n value: availablePto,\n };\n}\n\nexport type BookedTimeoffBeforeDateResponse = {\n /*\n * The number of days booked before termination.\n */\n bookedDaysBeforeTermination: DaysAndHours;\n /*\n * The number of days booked after termination.\n */\n bookedDaysAfterTermination: DaysAndHours;\n};\n\nfunction getAllTimeoffHoursBeforeDate(\n timeoffs: Timeoff[],\n terminationDate: Date,\n): { before: number; after: number } {\n let before = 0;\n let after = 0;\n\n timeoffs.forEach((timeoff) => {\n timeoff.timeoff_days?.forEach((day) => {\n const dayDate = new Date(day.day);\n if (dayDate <= terminationDate) {\n // Day is on or before termination\n before += day.hours || 0;\n } else {\n // Day is after termination\n after += day.hours || 0;\n }\n });\n });\n\n return { before, after };\n}\n\n/**\n * Hook to retrieve booked time off data before and after a specific date for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch booked time off data for.\n * @param {string} [params.date] - The date to fetch booked time off data for.\n * @returns {BookedTimeoffBeforeDateResponse} - The booked time off data before and after the specific date.\n *\n * This hook accounts for partial days and multiple timeoff_days per request.\n */\nexport const useBookedTimeoffBeforeAndAfterTerminationQuery = ({\n employmentId,\n date,\n options,\n}: {\n employmentId: string;\n date: string;\n options?: { enabled: boolean };\n}) => {\n return useTimeOffQuery<BookedTimeoffBeforeDateResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n status: 'approved',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n const { before, after } = getAllTimeoffHoursBeforeDate(\n data?.data?.timeoffs || [],\n new Date(date),\n );\n\n return {\n bookedDaysBeforeTermination: convertTotalHoursToDaysAndHours(before),\n bookedDaysAfterTermination: convertTotalHoursToDaysAndHours(after),\n };\n },\n },\n });\n};\n\nexport type SummaryTimeOffDataResponse = {\n /*\n * The number of days entitled to per year.\n */\n entitledDays: string;\n /*\n * The number of days booked.\n */\n bookedDays: string;\n /*\n * The number of days used.\n */\n usedDays: string;\n /*\n * The number of days current entitlement, better than entitledDays because it takes into account the accrued value.\n */\n currentEntitlementDays: string;\n /*\n * The number of days approved before termination.\n */\n approvedDaysBeforeTermination: string;\n /*\n * The number of days approved after termination.\n */\n approvedDaysAfterTermination: string;\n /*\n * The number of days remaining.\n */\n remainingDays: string;\n /*\n * Whether the PTO is unlimited or not.\n */\n isUnlimitedPto: boolean;\n};\n\n/**\n * Hook to retrieve summary time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch summary time off data for.\n * @param {string} [params.proposedTerminationDate] - The proposed termination date to fetch summary time off data for.\n * @returns {SummaryTimeOffDataResponse} - The summary time off data.\n *\n * This hook doesn't take into account unlimited time off or half days yet.\n *\n */\nexport const useSummaryTimeOffDataQuery = ({\n employmentId,\n proposedTerminationDate,\n employment,\n}: {\n employmentId: string;\n proposedTerminationDate: string;\n employment?: Employment;\n}) => {\n const { value: minimumStatutoryDays = 0 } =\n getMinimumStatutoryDays(employment);\n const leavePoliciesSummaryQuery = useTimeOffLeavePoliciesSummaryQuery({\n employmentId,\n });\n const bookedTimeQuery = useBookedTimeoffBeforeAndAfterTerminationQuery({\n employmentId,\n date: proposedTerminationDate,\n });\n\n const entitledDays =\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.type ===\n 'limited'\n ? {\n days: leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement\n .days,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.hours,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const bookedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].booked.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].booked.hours || 0,\n };\n\n const currentEntitlementDays =\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement.type ===\n 'limited'\n ? {\n days:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .days || 0,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .hours || 0,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const usedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].used.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].used.hours || 0,\n };\n\n const approvedDaysBeforeTermination = bookedTimeQuery.data\n ?.bookedDaysBeforeTermination || { days: 0, hours: 0 };\n\n const approvedDaysAfterTermination = bookedTimeQuery.data\n ?.bookedDaysAfterTermination || { days: 0, hours: 0 };\n\n const totalCurrentEntitlementHours = convertToTotalHours(\n currentEntitlementDays.days,\n currentEntitlementDays.hours,\n );\n const totalUsedHours = convertToTotalHours(usedDays.days, usedDays.hours);\n const totalBookedHours = convertToTotalHours(\n bookedDays.days,\n bookedDays.hours,\n );\n\n const remainingHours =\n totalCurrentEntitlementHours - totalUsedHours - totalBookedHours;\n\n const remainingDays = clampNegativeValuesIfApplicable(\n convertTotalHoursToDaysAndHours(remainingHours),\n );\n\n const formattedValues = formatTimeoffValues({\n entitledDays,\n bookedDays,\n usedDays,\n approvedDaysBeforeTermination,\n approvedDaysAfterTermination,\n remainingDays,\n currentEntitlementDays,\n }) as Omit<SummaryTimeOffDataResponse, 'isUnlimitedPto'>;\n\n return {\n data: {\n ...formattedValues,\n isUnlimitedPto:\n employment?.contract_details?.available_pto_type === 'unlimited',\n },\n isLoading: leavePoliciesSummaryQuery.isLoading || bookedTimeQuery.isLoading,\n isError: leavePoliciesSummaryQuery.isError || bookedTimeQuery.isError,\n error: leavePoliciesSummaryQuery.error || bookedTimeQuery.error,\n };\n};\n\nexport const useCreateTermination = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: CreateOffboardingParams) => {\n return postCreateOffboarding({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useTerminationSchema = ({\n formValues,\n jsfModify,\n step,\n}: {\n formValues?: TerminationFormValues;\n jsfModify?: JSFModify;\n step?: string;\n}) => {\n return useQuery({\n queryKey: ['rmt-flows-termination-schema', step],\n queryFn: () => {\n return schema[step as keyof typeof schema] ?? defaultSchema;\n },\n select: ({ data }) => {\n const jsfSchema = data?.schema || {};\n return createHeadlessForm(jsfSchema, formValues || {}, {\n jsfModify,\n });\n },\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","formatTimeoffValues","values","acc","key","value","formatAsDecimal","__name","getMinimumStatutoryDays","employment","availablePto","ptoType","getAllTimeoffHoursBeforeDate","timeoffs","terminationDate","before","after","timeoff","day","useBookedTimeoffBeforeAndAfterTerminationQuery","employmentId","date","options","useTimeOffQuery","data","convertTotalHoursToDaysAndHours","useSummaryTimeOffDataQuery","proposedTerminationDate","minimumStatutoryDays","leavePoliciesSummaryQuery","useTimeOffLeavePoliciesSummaryQuery","bookedTimeQuery","entitledDays","bookedDays","currentEntitlementDays","usedDays","approvedDaysBeforeTermination","approvedDaysAfterTermination","totalCurrentEntitlementHours","convertToTotalHours","totalUsedHours","totalBookedHours","remainingHours","remainingDays","clampNegativeValuesIfApplicable","useCreateTermination","client","useClient","useMutation","payload","postCreateOffboarding","useTerminationSchema","formValues","jsfModify","step","useQuery","schema","defaultSchema","jsfSchema","createHeadlessForm"]}
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-L3Z2G32A.js";import{a as s}from"./chunk-P37U34EQ.js";import*as n from"react";import{Drawer as r}from"vaul";import{jsx as a,jsxs as l}from"react/jsx-runtime";var d=s(({shouldScaleBackground:e=!0,...t})=>a(r.Root,{shouldScaleBackground:e,...t}),"Drawer");d.displayName="Drawer";var N=r.Trigger,f=r.Portal,P=r.Close,m=n.forwardRef(({className:e,...t},o)=>a(r.Overlay,{ref:o,className:i("fixed inset-0 z-50 bg-black/80",e),...t}));m.displayName=r.Overlay.displayName;var D=n.forwardRef(({className:e,children:t,showHandle:o=!0,...c},p)=>l(f,{children:[a(m,{}),l(r.Content,{ref:p,className:i("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",e),...c,children:[o&&a("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),t]})]}));D.displayName="DrawerContent";var w=s(({className:e,...t})=>a("div",{className:i("grid gap-1.5 p-4 text-center sm:text-left",e),...t}),"DrawerHeader");w.displayName="DrawerHeader";var R=s(({className:e,...t})=>a("div",{className:i("mt-auto flex flex-col gap-2 p-4",e),...t}),"DrawerFooter");R.displayName="DrawerFooter";var u=n.forwardRef(({className:e,...t},o)=>a(r.Title,{ref:o,className:i("text-lg font-semibold leading-none tracking-tight",e),...t}));u.displayName=r.Title.displayName;var g=n.forwardRef(({className:e,...t},o)=>a(r.Description,{ref:o,className:i("text-sm text-muted-foreground",e),...t}));g.displayName=r.Description.displayName;export{d as a,N as b,D as c,w as d,u as e,g as f};
2
- //# sourceMappingURL=chunk-UOOUV52J.js.map
1
+ import{a as i}from"./chunk-UQCSN47K.js";import{a as s}from"./chunk-P37U34EQ.js";import*as n from"react";import{Drawer as r}from"vaul";import{jsx as a,jsxs as l}from"react/jsx-runtime";var d=s(({shouldScaleBackground:e=!0,...t})=>a(r.Root,{shouldScaleBackground:e,...t}),"Drawer");d.displayName="Drawer";var N=r.Trigger,f=r.Portal,P=r.Close,m=n.forwardRef(({className:e,...t},o)=>a(r.Overlay,{ref:o,className:i("fixed inset-0 z-50 bg-black/80",e),...t}));m.displayName=r.Overlay.displayName;var D=n.forwardRef(({className:e,children:t,showHandle:o=!0,...c},p)=>l(f,{children:[a(m,{}),l(r.Content,{ref:p,className:i("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",e),...c,children:[o&&a("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),t]})]}));D.displayName="DrawerContent";var w=s(({className:e,...t})=>a("div",{className:i("grid gap-1.5 p-4 text-center sm:text-left",e),...t}),"DrawerHeader");w.displayName="DrawerHeader";var R=s(({className:e,...t})=>a("div",{className:i("mt-auto flex flex-col gap-2 p-4",e),...t}),"DrawerFooter");R.displayName="DrawerFooter";var u=n.forwardRef(({className:e,...t},o)=>a(r.Title,{ref:o,className:i("text-lg font-semibold leading-none tracking-tight",e),...t}));u.displayName=r.Title.displayName;var g=n.forwardRef(({className:e,...t},o)=>a(r.Description,{ref:o,className:i("text-sm text-muted-foreground",e),...t}));g.displayName=r.Description.displayName;export{d as a,N as b,D as c,w as d,u as e,g as f};
2
+ //# sourceMappingURL=chunk-GGPEKIIH.js.map
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-L3Z2G32A.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as o}from"react/jsx-runtime";function a({className:i,type:r,...n}){return o("input",{type:r,"data-slot":"input",className:t("shadow-xs border-input file:text-foreground placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-xl border bg-transparent px-4 py-7 text-sm transition-[color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-focused","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i),...n})}e(a,"Input");export{a};
2
- //# sourceMappingURL=chunk-72OH7PSF.js.map
1
+ import{a as t}from"./chunk-UQCSN47K.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as o}from"react/jsx-runtime";function a({className:i,type:r,...n}){return o("input",{type:r,"data-slot":"input",className:t("shadow-xs border-input file:text-foreground placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-xl border bg-transparent px-4 py-7 text-sm transition-[color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-focused","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i),...n})}e(a,"Input");export{a};
2
+ //# sourceMappingURL=chunk-GPLI6GGL.js.map
@@ -0,0 +1,2 @@
1
+ import{b as n}from"./chunk-KSHK3ZPX.js";import{a as m}from"./chunk-NFWNYW2E.js";import{b as u}from"./chunk-KQPDXXG3.js";import{a as r}from"./chunk-UQCSN47K.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function B({children:s,...t}){let{formId:i,costCalculatorBag:e}=n(),{components:l}=u(),a=l?.button||m;return c(a,{...t,type:"submit",className:r("RemoteFlows__CostCalculatorForm__SubmitButton",t.className),form:i,disabled:t.disabled||e?.isSubmitting,children:s})}o(B,"CostCalculatorSubmitButton");export{B as a};
2
+ //# sourceMappingURL=chunk-GVSAZND2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorSubmitButton.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useCostCalculatorContext } from './context';\nimport { cn } from '@/src/lib/utils';\nimport { useFormFields } from '@/src/context';\nimport { ButtonDefault } from '@/src/components/form/fields/default/ButtonDefault';\n\nexport function CostCalculatorSubmitButton({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> &\n Record<string, unknown>) {\n const { formId, costCalculatorBag } = useCostCalculatorContext();\n const { components } = useFormFields();\n\n const CustomButton = components?.button || ButtonDefault;\n return (\n <CustomButton\n {...props}\n type='submit'\n className={cn(\n 'RemoteFlows__CostCalculatorForm__SubmitButton',\n props.className,\n )}\n form={formId}\n disabled={props.disabled || costCalculatorBag?.isSubmitting}\n >\n {children}\n </CustomButton>\n );\n}\n"],"mappings":"wMAgBI,cAAAA,MAAA,oBAVG,SAASC,EAA2B,CACzC,SAAAC,EACA,GAAGC,CACL,EAC2B,CACzB,GAAM,CAAE,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EACzD,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAeF,GAAY,QAAUG,EAC3C,OACEV,EAACS,EAAA,CACE,GAAGN,EACJ,KAAK,SACL,UAAWQ,EACT,gDACAR,EAAM,SACR,EACA,KAAMC,EACN,SAAUD,EAAM,UAAYE,GAAmB,aAE9C,SAAAH,EACH,CAEJ,CAvBgBU,EAAAX,EAAA","names":["jsx","CostCalculatorSubmitButton","children","props","formId","costCalculatorBag","useCostCalculatorContext","components","useFormFields","CustomButton","ButtonDefault","cn","__name"]}
@@ -0,0 +1,2 @@
1
+ import{a as l}from"./chunk-P5QKSFOE.js";import{C as d,G as p,i as u,p as c,u as m,z as C}from"./chunk-W3YE53JN.js";import{d as o}from"./chunk-KQPDXXG3.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as a,useQuery as r}from"@tanstack/react-query";var h=t(({includePremiumBenefits:e})=>{let{client:i}=o();return r({queryKey:["cost-calculator-countries",e],queryFn:t(()=>m({client:i,query:{include_premium_benefits:e}}),"queryFn"),select:t(s=>s.data?.data.filter(n=>n.availability==="active").map(n=>({value:n.region_slug,label:n.name,childRegions:n.child_regions,hasAdditionalFields:n.has_additional_fields,regionSlug:n.region_slug,currency:n.currency.code})),"select")})},"useCostCalculatorCountries"),q=t(()=>{let{client:e}=o();return r({queryKey:["company-currencies"],queryFn:t(()=>p({client:e}),"queryFn"),select:t(i=>i.data?.data?.company_currencies.map(s=>({value:s.slug,label:s.code})),"select")})},"useCompanyCurrencies"),x=t(()=>{let{client:e}=o();return a({mutationFn:t(i=>u({client:e,body:i}),"mutationFn")})},"useCostCalculatorEstimation"),P=t(()=>{let{client:e}=o();return a({mutationFn:t(i=>c({client:e,body:i}),"mutationFn")})},"useCostCalculatorEstimationPdf"),v=t(()=>{let{client:e}=o();return a({mutationFn:t(i=>d({client:e,body:i}),"mutationFn")})},"useCostCalculatorEstimationCsv"),S=t((e,{includePremiumBenefits:i,options:s})=>{let{client:n}=o();return r({queryKey:["cost-calculator-region-fields",e,i],queryFn:t(()=>C({client:n,path:{slug:e},query:{include_premium_benefits:i}}),"queryFn"),enabled:!!e,select:t(({data:f})=>{let y=f?.data?.schema||{};return l(y,void 0,s)},"select")})},"useRegionFields");export{h as a,q as b,x as c,P as d,v as e,S as f};
2
+ //# sourceMappingURL=chunk-HIQNB5UN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/api.ts"],"sourcesContent":["import { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport {\n CostCalculatorEstimateParams,\n getIndexCompanyCurrency,\n getIndexCountry,\n getShowRegionField,\n postCreateEstimation,\n postCreateEstimationCsv,\n postCreateEstimationPdf,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { CostCalculatorEstimationOptions } from '@/src/flows/CostCalculator/types';\nimport { JSFModify } from '@/src/flows/types';\n\n/**\n * Hook to fetch the countries for the cost calculator.\n * @returns\n */\nexport const useCostCalculatorCountries = ({\n includePremiumBenefits,\n}: {\n includePremiumBenefits: CostCalculatorEstimationOptions['includePremiumBenefits'];\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['cost-calculator-countries', includePremiumBenefits],\n queryFn: () => {\n return getIndexCountry({\n client: client as Client,\n query: {\n include_premium_benefits: includePremiumBenefits,\n },\n });\n },\n select: (data) =>\n data.data?.data\n .filter((country) => country.availability === 'active')\n .map((country) => ({\n value: country.region_slug,\n label: country.name,\n childRegions: country.child_regions,\n hasAdditionalFields: country.has_additional_fields,\n regionSlug: country.region_slug,\n currency: country.currency.code,\n })),\n });\n};\n\n/**\n * Hook to fetch the company currencies.\n * @returns\n */\nexport const useCompanyCurrencies = () => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['company-currencies'],\n queryFn: () => {\n return getIndexCompanyCurrency({\n client: client as Client,\n });\n },\n select: (data) =>\n data.data?.data?.company_currencies.map((currency) => ({\n value: currency.slug,\n label: currency.code,\n })),\n });\n};\n\n/**\n * Hook to create an estimation.\n * @returns\n */\nexport const useCostCalculatorEstimation = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: CostCalculatorEstimateParams) => {\n return postCreateEstimation({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Custom hook to create a PDF estimation.\n *\n * @returns\n */\nexport const useCostCalculatorEstimationPdf = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: CostCalculatorEstimateParams) => {\n return postCreateEstimationPdf({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Custom hook to create a CSV estimation.\n *\n * @returns\n */\nexport const useCostCalculatorEstimationCsv = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: CostCalculatorEstimateParams) => {\n return postCreateEstimationCsv({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Hook to fetch the region fields.\n * @param region\n * @returns\n */\nexport const useRegionFields = (\n region: string | undefined,\n {\n includePremiumBenefits,\n options,\n }: {\n includePremiumBenefits: CostCalculatorEstimationOptions['includePremiumBenefits'];\n options?: {\n jsfModify?: JSFModify;\n };\n },\n) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['cost-calculator-region-fields', region, includePremiumBenefits],\n queryFn: () => {\n return getShowRegionField({\n client: client as Client,\n path: { slug: region as string },\n query: {\n include_premium_benefits: includePremiumBenefits,\n },\n });\n },\n enabled: !!region,\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n return createHeadlessForm(jsfSchema, undefined, options);\n },\n });\n};\n"],"mappings":"mMAYA,OAAS,eAAAA,EAAa,YAAAC,MAAgB,wBAQ/B,IAAMC,EAA6BC,EAAA,CAAC,CACzC,uBAAAC,CACF,IAEM,CACJ,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAU,EAC7B,OAAOC,EAAS,CACd,SAAU,CAAC,4BAA6BH,CAAsB,EAC9D,QAASD,EAAA,IACAK,EAAgB,CACrB,OAAQH,EACR,MAAO,CACL,yBAA0BD,CAC5B,CACF,CAAC,EANM,WAQT,OAAQD,EAACM,GACPA,EAAK,MAAM,KACR,OAAQC,GAAYA,EAAQ,eAAiB,QAAQ,EACrD,IAAKA,IAAa,CACjB,MAAOA,EAAQ,YACf,MAAOA,EAAQ,KACf,aAAcA,EAAQ,cACtB,oBAAqBA,EAAQ,sBAC7B,WAAYA,EAAQ,YACpB,SAAUA,EAAQ,SAAS,IAC7B,EAAE,EAVE,SAWV,CAAC,CACH,EA5B0C,8BAkC7BC,EAAuBR,EAAA,IAAM,CACxC,GAAM,CAAE,OAAAE,CAAO,EAAIC,EAAU,EAE7B,OAAOC,EAAS,CACd,SAAU,CAAC,oBAAoB,EAC/B,QAASJ,EAAA,IACAS,EAAwB,CAC7B,OAAQP,CACV,CAAC,EAHM,WAKT,OAAQF,EAACM,GACPA,EAAK,MAAM,MAAM,mBAAmB,IAAKI,IAAc,CACrD,MAAOA,EAAS,KAChB,MAAOA,EAAS,IAClB,EAAE,EAJI,SAKV,CAAC,CACH,EAhBoC,wBAsBvBC,EAA8BX,EAAA,IAAM,CAC/C,GAAM,CAAE,OAAAE,CAAO,EAAIC,EAAU,EAE7B,OAAOS,EAAY,CACjB,WAAYZ,EAACa,GACJC,EAAqB,CAC1B,OAAQZ,EACR,KAAMW,CACR,CAAC,EAJS,aAMd,CAAC,CACH,EAX2C,+BAkB9BE,EAAiCf,EAAA,IAAM,CAClD,GAAM,CAAE,OAAAE,CAAO,EAAIC,EAAU,EAE7B,OAAOS,EAAY,CACjB,WAAYZ,EAACa,GACJG,EAAwB,CAC7B,OAAQd,EACR,KAAMW,CACR,CAAC,EAJS,aAMd,CAAC,CACH,EAX8C,kCAkBjCI,EAAiCjB,EAAA,IAAM,CAClD,GAAM,CAAE,OAAAE,CAAO,EAAIC,EAAU,EAC7B,OAAOS,EAAY,CACjB,WAAYZ,EAACa,GACJK,EAAwB,CAC7B,OAAQhB,EACR,KAAMW,CACR,CAAC,EAJS,aAMd,CAAC,CACH,EAV8C,kCAiBjCM,EAAkBnB,EAAA,CAC7BoB,EACA,CACE,uBAAAnB,EACA,QAAAoB,CACF,IAMG,CACH,GAAM,CAAE,OAAAnB,CAAO,EAAIC,EAAU,EAE7B,OAAOC,EAAS,CACd,SAAU,CAAC,gCAAiCgB,EAAQnB,CAAsB,EAC1E,QAASD,EAAA,IACAsB,EAAmB,CACxB,OAAQpB,EACR,KAAM,CAAE,KAAMkB,CAAiB,EAC/B,MAAO,CACL,yBAA0BnB,CAC5B,CACF,CAAC,EAPM,WAST,QAAS,CAAC,CAACmB,EACX,OAAQpB,EAAA,CAAC,CAAE,KAAAM,CAAK,IAAM,CACpB,IAAMiB,EAAYjB,GAAM,MAAM,QAAU,CAAC,EACzC,OAAOkB,EAAmBD,EAAW,OAAWF,CAAO,CACzD,EAHQ,SAIV,CAAC,CACH,EA/B+B","names":["useMutation","useQuery","useCostCalculatorCountries","__name","includePremiumBenefits","client","useClient","useQuery","getIndexCountry","data","country","useCompanyCurrencies","getIndexCompanyCurrency","currency","useCostCalculatorEstimation","useMutation","payload","postCreateEstimation","useCostCalculatorEstimationPdf","postCreateEstimationPdf","useCostCalculatorEstimationCsv","postCreateEstimationCsv","useRegionFields","region","options","getShowRegionField","jsfSchema","createHeadlessForm"]}
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-P37U34EQ.js";var x=i(e=>new Promise((n,r)=>{let a=new FileReader;a.readAsDataURL(e),a.onload=()=>n(a.result),a.onerror=t=>r(t)}),"toBase64"),V=i(async e=>await Promise.all(e.map(async r=>{let a=await x(r);return{...r,name:r.name,size:r.size,type:r.type,content:a.split(",")[1]}})),"convertFilesToBase64");import{addBusinessDays as h,isWeekend as N,nextMonday as L}from"date-fns";import A from"lodash.get";var C={TEXT:"text",TEXTAREA:"textarea",NUMBER:"number",SELECT:"select",COUNTRIES:"countries",TEL:"tel",EMAIL:"email",MONEY:"money",DATE:"date",DATE_RANGE:"date-range",CURRENCIES:"currencies",TIME:"time"},j={CHECKBOX:"checkbox",ACK_CHECK:"ack-check"},l={FILE:"file",RADIO:"radio",RADIO_CARD:"radio-card",GROUP_ARRAY:"group-array",EXTRA:"extra",STATEMENT:"statement",HIDDEN:"hidden",FIELDSET:"fieldset",FIELDSET_FLAT:"fieldset-flat",WORK_SCHEDULE:"work-schedule",WORK_WEEK_SCHEDULE:"work-week-schedule",BENEFITS:"benefits",SIGNATURE:"signature",SELECT_MULTIPLE:"select-multiple",...C,...j};function R(e){return Math.round((e+Number.EPSILON)*100)/100}i(R,"round");function I(e){return parseFloat(e.replace(/,/g,""))}i(I,"convertToValidCost");function B(e){if(e==null||e===""||Number.isNaN(e)||Array.isArray(e)||typeof e=="boolean")return null;let n;return typeof e=="string"?n=I(e):n=e,R(n*100)}i(B,"convertToCents");function M(e){if(e==null||Number.isNaN(e))return null;let n;return typeof e=="string"?n=I(e||"0"):n=e,R(n/100)}i(M,"convertFromCents");var g=i(e=>Object.entries(e||{}).reduce((n,[r,a])=>(Array.isArray(a)?n[r]=a.map(t=>typeof t=="object"&&t!==null?g(t):typeof t=="string"?t.trim():t):typeof a=="object"&&a!==null?n[r]=g(a):n[r]=typeof a=="string"?a.trim():a,n),{}),"trimStringValues");function D(e,n){let r={};return n.forEach(a=>{let t=a.name;if(!(!Object.prototype.hasOwnProperty.call(e,t)&&!(a.inputType===l.FIELDSET&&a.valueGroupingDisabled))){if(a.inputType===l.FIELDSET&&a.valueGroupingDisabled){Object.assign(r,D(e,a.fields));return}a.readOnly&&a.defaultValue?r[t]=a.defaultValue:r[t]=e[t]}}),r}i(D,"prefillReadOnlyFields");function O(e,n){return e.reduce((r,a)=>(a.inputType===l.FIELDSET&&a.valueGroupingDisabled?Object.assign(r,O(a.fields,n)):Object.prototype.hasOwnProperty.call(n,a.name)&&(r[a.name]=n[a.name]),r),{})}i(O,"extractFieldsetFieldsValues");var T={[l.COUNTRIES]:{transformValueToAPI:i(e=>n=>!e.multiple||typeof n=="string"?n:n.map(r=>typeof r=="string"?r:r.name),"transformValueToAPI"),transformValue:i(e=>{let n=i(r=>r?.name||r?.value||r?.label,"getCountryValue");return Array.isArray(e)?e.map(n):n(e)||""},"transformValue")},[l.NUMBER]:{transformValueToAPI:i(()=>e=>{let n=Number(e);return Number.isNaN(n)?e:n},"transformValueToAPI")},[l.MONEY]:{transformValueFromAPI:i(()=>e=>M(e)??"","transformValueFromAPI"),transformValueToAPI:i(()=>B,"transformValueToAPI")},[l.RADIO]:{transformValueToAPI:i(e=>n=>e.transformToBool?n==="yes":n,"transformValueToAPI")},[l.CHECKBOX]:{transformValueToAPI:i(e=>n=>n===void 0?!1:e.const&&n===!0?e.const:n,"transformValueToAPI")},[l.SELECT]:{transformValue:i(e=>Array.isArray(e)?e.map(n=>n.value):e?.value??"","transformValue")},[l.FILE]:{transformValueToAPI:i(()=>async e=>e?await V(e):null,"transformValueToAPI")}};async function p(e={},n){let r=n.filter(t=>e[t.name]||t.inputType===l.FIELDSET&&t.valueGroupingDisabled);return(await Promise.all(r.map(async t=>{let s={};switch(t.inputType){case l.FIELDSET:{let o=t;if(o.valueGroupingDisabled){let u=O(o.fields,e);Object.assign(s,await p(u,o.fields))}else{let u=e[t.name];if(u&&typeof u=="object"&&!Array.isArray(u)){let c=Object.fromEntries(Object.entries(u).filter(([,m])=>m!==""&&m!==null&&m!==void 0));s[t.name]=Object.keys(c).length>0?await p(c,o.fields):void 0}else s[t.name]=await p(u,o.fields)}break}case l.TEXTAREA:case l.TEXT:s[t.name]=e[t.name].replace(/\0/g,"");break;case l.GROUP_ARRAY:{let o=t?.fields?.().map(c=>({...c,name:c.nameKey||""})),u=await Promise.all(e[t.name]?.map(c=>p(c,o))||[]);s[t.name]=u;break}case l.EXTRA:{let o=t;if(o.includeValueToApi!==!1){let u=e[o.name],c=o?.transformValueToAPI||T[o.inputType]?.transformValueToAPI;if(c){let m=c(t)(u);s[o.name]=m instanceof Promise?await m:m;break}s[o.name]=u;break}s[o.name]=void 0;break}default:{let o=e[t.name],u=t?.transformValueToAPI||T[t.inputType]?.transformValueToAPI;if(u){let c=u(t)(o);s[t.name]=c instanceof Promise?await c:c;break}s[t.name]=o;break}}return t.forcedValue!==void 0&&(s[t.name]=t.forcedValue),s}))).reduce((t,s)=>({...t,...s}),{...e})}i(p,"parseFormValuesToAPI");function w(e,n){return e.visibilityCondition?e.visibilityCondition(n):typeof e.isVisible<"u"?!!e.isVisible:!0}i(w,"isFieldVisible");function F(e,n){return e.calculateDynamicProperties?{...e,...e.calculateDynamicProperties(n)||{}}:e}i(F,"applyFieldDynamicProperties");function b(e,n,r,a){let t={};return n.map(s=>F(s,e)).forEach(s=>{let o=s.name;a&&(o=o?`${a}.${s.name}`:a);let u=A(e,o);if(!(!w(s,e)&&!(r&&u))&&!s.meta?.ignoreValue)if(s.inputType==="fieldset"&&s.valueGroupingDisabled)Object.assign(t,b(e,s.fields,r,o));else if(Array.isArray(s.fields))t[s.name]=b(e,s.fields,r,o);else{if(u===void 0)return;t[s.name]=u}}),t}i(b,"excludeValuesInvisible");function U(e){return Object.fromEntries(Object.entries(e).filter(([,n])=>n!=null&&n!==""))}i(U,"removeEmptyValues");function E(e){return Array.isArray(e)?e.map(E):e&&typeof e=="object"?Object.entries(e).reduce((n,[r,a])=>(r.startsWith("_")||(n[r]=E(a)),n),{}):e}i(E,"cleanUnderscoreFields");async function G(e,n,r){let a=r?.keepInvisibleValues?e:b(e,n),t=await p(a,n),s=g(t),o=U(s),u=D(o,n);return E(u)}i(G,"parseSubmitValues");async function Y(e,n,r={isPartialValidation:!1}){return await G(e,n,{keepInvisibleValues:r?.isPartialValidation})}i(Y,"parseJSFToValidate");function W(e){switch(e){case l.FILE:return;default:return""}}i(W,"getDefaultValueForType");function P(e,n){let r=A(e,n.name),a=n?.transformValueFromAPI||T[n.inputType]?.transformValueFromAPI;if(a)return a(n)(r);let t=typeof n.value=="function"?n.value(r,e):null,s=typeof n.value!="function"?n.value:null,o=n.checkboxValue===!0?r||!1:null,u=i(c=>c===""?void 0:c,"excludeString");return u(t)??u(r)??u(s)??u(n.default)??o??W(n.inputType)}i(P,"getInitialDefaultValue");function S(e,n,r){let a={},t=e.name;r&&(t=t?`${r}.${t}`:r);let s=e.fields;if(Array.isArray(s)){let o={};s.forEach(u=>{Object.assign(o,S(u,n,t))}),e.inputType===l.FIELDSET&&e.valueGroupingDisabled?Object.assign(a,o):a[e.name]=o}else a[e.name]=P(n,{...e,name:t});return a}i(S,"getInitialSubFieldValues");function _(e,n){let r={},a=n;return e.map(t=>F(t,a)).forEach(t=>{switch(t.inputType){case l.FIELDSET:{if(t.valueGroupingDisabled)Object.assign(r,_(t.fields,a));else{let s=S(t,a);Object.assign(r,s)}break}default:{r[t.name]||(r[t.name]=P(a,t));break}}}),r}i(_,"getInitialValues");function z({fields:e=[],fieldsets:n={},values:r}){let a=Object.keys(n);if(!a?.length)return e;let t=new Set(a.flatMap(c=>n[c]?.propertiesByName??[]));return a.map(c=>{let{propertiesByName:m=[],...y}=n[c],f=m.map(d=>e.find(k=>k.name===d)).filter(d=>!!d);return{...y,name:c,type:"fieldset-flat",inputType:"fieldset-flat",fields:f,label:n[c].title,isVisible:f.map(d=>F(d,r)).some(d=>w(d,r))}}).reduce((c,m)=>{let y=[...c],f=m.fields[0]?c.findIndex(d=>d.name===m.fields[0].name):c.length;return y.splice(f,0,m),y},e).filter(c=>!t.has(c.name))}i(z,"getFieldsWithFlatFieldsets");function J(e,n){let r=n;return e.forEach(a=>{"const"in a&&(r=Object.fromEntries(Object.entries(n).map(([t,s])=>t===a.name?[t,a.const]:[t,s])))}),r}i(J,"enableAckFields");function q(e){let n=new Date;n.setDate(n.getUTCDate()),n.setHours(0,0,0,0);let r=h(n,e+1);return N(r)?L(r):r}i(q,"getMinStartDate");export{R as a,B as b,M as c,Y as d,_ as e,z as f,J as g,q as h};
2
- //# sourceMappingURL=chunk-ARTSDUSS.js.map
1
+ import{a as i}from"./chunk-P37U34EQ.js";var x=i(e=>new Promise((n,r)=>{let a=new FileReader;a.readAsDataURL(e),a.onload=()=>n(a.result),a.onerror=t=>r(t)}),"toBase64"),V=i(async e=>await Promise.all(e.map(async r=>{let a=await x(r);return{...r,name:r.name,size:r.size,type:r.type,content:a.split(",")[1]}})),"convertFilesToBase64");import{addBusinessDays as h,isWeekend as N,nextMonday as L}from"date-fns";import A from"lodash.get";var C={TEXT:"text",TEXTAREA:"textarea",NUMBER:"number",SELECT:"select",COUNTRIES:"countries",TEL:"tel",EMAIL:"email",MONEY:"money",DATE:"date",DATE_RANGE:"date-range",CURRENCIES:"currencies",TIME:"time"},j={CHECKBOX:"checkbox",ACK_CHECK:"ack-check"},l={FILE:"file",RADIO:"radio",RADIO_CARD:"radio-card",GROUP_ARRAY:"group-array",EXTRA:"extra",STATEMENT:"statement",HIDDEN:"hidden",FIELDSET:"fieldset",FIELDSET_FLAT:"fieldset-flat",WORK_SCHEDULE:"work-schedule",WORK_WEEK_SCHEDULE:"work-week-schedule",BENEFITS:"benefits",SIGNATURE:"signature",SELECT_MULTIPLE:"select-multiple",...C,...j};function R(e){return Math.round((e+Number.EPSILON)*100)/100}i(R,"round");function I(e){return parseFloat(e.replace(/,/g,""))}i(I,"convertToValidCost");function B(e){if(e==null||e===""||Number.isNaN(e)||Array.isArray(e)||typeof e=="boolean")return null;let n;return typeof e=="string"?n=I(e):n=e,R(n*100)}i(B,"convertToCents");function M(e){if(e==null||Number.isNaN(e))return null;let n;return typeof e=="string"?n=I(e||"0"):n=e,R(n/100)}i(M,"convertFromCents");var g=i(e=>Object.entries(e||{}).reduce((n,[r,a])=>(Array.isArray(a)?n[r]=a.map(t=>typeof t=="object"&&t!==null?g(t):typeof t=="string"?t.trim():t):typeof a=="object"&&a!==null?n[r]=g(a):n[r]=typeof a=="string"?a.trim():a,n),{}),"trimStringValues");function D(e,n){let r={};return n.forEach(a=>{let t=a.name;if(!(!Object.prototype.hasOwnProperty.call(e,t)&&!(a.inputType===l.FIELDSET&&a.valueGroupingDisabled))){if(a.inputType===l.FIELDSET&&a.valueGroupingDisabled){Object.assign(r,D(e,a.fields));return}a.readOnly&&a.defaultValue?r[t]=a.defaultValue:r[t]=e[t]}}),r}i(D,"prefillReadOnlyFields");function O(e,n){return e.reduce((r,a)=>(a.inputType===l.FIELDSET&&a.valueGroupingDisabled?Object.assign(r,O(a.fields,n)):Object.prototype.hasOwnProperty.call(n,a.name)&&(r[a.name]=n[a.name]),r),{})}i(O,"extractFieldsetFieldsValues");var T={[l.COUNTRIES]:{transformValueToAPI:i(e=>n=>!e.multiple||typeof n=="string"?n:n.map(r=>typeof r=="string"?r:r.name),"transformValueToAPI"),transformValue:i(e=>{let n=i(r=>r?.name||r?.value||r?.label,"getCountryValue");return Array.isArray(e)?e.map(n):n(e)||""},"transformValue")},[l.NUMBER]:{transformValueToAPI:i(()=>e=>{let n=Number(e);return Number.isNaN(n)?e:n},"transformValueToAPI")},[l.MONEY]:{transformValueFromAPI:i(()=>e=>M(e)??"","transformValueFromAPI"),transformValueToAPI:i(()=>B,"transformValueToAPI")},[l.RADIO]:{transformValueToAPI:i(e=>n=>e.transformToBool?n==="yes":n,"transformValueToAPI")},[l.CHECKBOX]:{transformValueToAPI:i(e=>n=>n===void 0?!1:e.const&&n===!0?e.const:n,"transformValueToAPI")},[l.SELECT]:{transformValue:i(e=>Array.isArray(e)?e.map(n=>n.value):e?.value??"","transformValue")},[l.FILE]:{transformValueToAPI:i(()=>async e=>e?await V(e):null,"transformValueToAPI")}};async function d(e={},n){let r=n.filter(t=>e[t.name]||t.inputType===l.FIELDSET&&t.valueGroupingDisabled);return(await Promise.all(r.map(async t=>{let s={};switch(t.inputType){case l.FIELDSET:{let o=t;if(o.valueGroupingDisabled){let u=O(o.fields,e);Object.assign(s,await d(u,o.fields))}else{let u=e[t.name];if(u&&typeof u=="object"&&!Array.isArray(u)){let c=Object.fromEntries(Object.entries(u).filter(([,m])=>m!==""&&m!==null&&m!==void 0));s[t.name]=Object.keys(c).length>0?await d(c,o.fields):void 0}else s[t.name]=await d(u,o.fields)}break}case l.TEXTAREA:case l.TEXT:s[t.name]=e[t.name].replace(/\0/g,"");break;case l.GROUP_ARRAY:{let o=t?.fields?.().map(c=>({...c,name:c.nameKey||""})),u=await Promise.all(e[t.name]?.map(c=>d(c,o))||[]);s[t.name]=u;break}case l.EXTRA:{let o=t;if(o.includeValueToApi!==!1){let u=e[o.name],c=o?.transformValueToAPI||T[o.inputType]?.transformValueToAPI;if(c){let m=c(t)(u);s[o.name]=m instanceof Promise?await m:m;break}s[o.name]=u;break}s[o.name]=void 0;break}default:{let o=e[t.name],u=t?.transformValueToAPI||T[t.inputType]?.transformValueToAPI;if(u){let c=u(t)(o);s[t.name]=c instanceof Promise?await c:c;break}s[t.name]=o;break}}return t.forcedValue!==void 0&&(s[t.name]=t.forcedValue),s}))).reduce((t,s)=>({...t,...s}),{...e})}i(d,"parseFormValuesToAPI");function w(e,n){return e.visibilityCondition?e.visibilityCondition(n):typeof e.isVisible<"u"?!!e.isVisible:!0}i(w,"isFieldVisible");function E(e,n){return e.calculateDynamicProperties?{...e,...e.calculateDynamicProperties(n)||{}}:e}i(E,"applyFieldDynamicProperties");function b(e,n,r,a){let t={};return n.map(s=>E(s,e)).forEach(s=>{let o=s.name;a&&(o=o?`${a}.${s.name}`:a);let u=A(e,o);if(!(!w(s,e)&&!(r&&u))&&!s.meta?.ignoreValue)if(s.inputType==="fieldset"&&s.valueGroupingDisabled)Object.assign(t,b(e,s.fields,r,o));else if(Array.isArray(s.fields))t[s.name]=b(e,s.fields,r,o);else{if(u===void 0)return;t[s.name]=u}}),t}i(b,"excludeValuesInvisible");function U(e){return Object.fromEntries(Object.entries(e).filter(([,n])=>n!=null&&n!==""))}i(U,"removeEmptyValues");function F(e){return Array.isArray(e)?e.map(F):e&&typeof e=="object"?Object.entries(e).reduce((n,[r,a])=>(r.startsWith("_")||(n[r]=F(a)),n),{}):e}i(F,"cleanUnderscoreFields");async function G(e,n,r){let a=r?.keepInvisibleValues?e:b(e,n),t=await d(a,n),s=g(t),o=U(s),u=D(o,n);return F(u)}i(G,"parseSubmitValues");async function K(e,n,r={isPartialValidation:!1}){return await G(e,n,{keepInvisibleValues:r?.isPartialValidation})}i(K,"parseJSFToValidate");function W(e){switch(e){case l.FILE:return;default:return""}}i(W,"getDefaultValueForType");function P(e,n){let r=A(e,n.name),a=n?.transformValueFromAPI||T[n.inputType]?.transformValueFromAPI;if(a)return a(n)(r);let t=typeof n.value=="function"?n.value(r,e):null,s=typeof n.value!="function"?n.value:null,o=n.checkboxValue===!0?r||!1:null,u=i(c=>c===""?void 0:c,"excludeString");return u(t)??u(r)??u(s)??u(n.default)??o??W(n.inputType)}i(P,"getInitialDefaultValue");function S(e,n,r){let a={},t=e.name;r&&(t=t?`${r}.${t}`:r);let s=e.fields;if(Array.isArray(s)){let o={};s.forEach(u=>{Object.assign(o,S(u,n,t))}),e.inputType===l.FIELDSET&&e.valueGroupingDisabled?Object.assign(a,o):a[e.name]=o}else a[e.name]=P(n,{...e,name:t});return a}i(S,"getInitialSubFieldValues");function _(e,n){let r={},a=n;return e.map(t=>E(t,a)).forEach(t=>{switch(t.inputType){case l.FIELDSET:{if(t.valueGroupingDisabled)Object.assign(r,_(t.fields,a));else{let s=S(t,a);Object.assign(r,s)}break}default:{r[t.name]||(r[t.name]=P(a,t));break}}}),r}i(_,"getInitialValues");function Y({fields:e=[],fieldsets:n={},values:r}){let a=Object.keys(n);if(!a?.length)return e;let t=new Set(a.flatMap(c=>n[c]?.propertiesByName??[]));return a.map(c=>{let{propertiesByName:m=[],...y}=n[c],f=m.map(p=>e.find(k=>k.name===p)).filter(p=>!!p);return{...y,name:c,type:"fieldset-flat",inputType:"fieldset-flat",fields:f,label:n[c].title,isVisible:f.map(p=>E(p,r)).some(p=>w(p,r))}}).reduce((c,m)=>{let y=[...c],f=m.fields[0]?c.findIndex(p=>p.name===m.fields[0].name):c.length;return y.splice(f,0,m),y},e).filter(c=>!t.has(c.name))}i(Y,"getFieldsWithFlatFieldsets");function z(e,n){let r=n;return e.forEach(a=>{"const"in a&&(r=Object.fromEntries(Object.entries(n).map(([t,s])=>t===a.name?[t,a.const]:[t,s])))}),r}i(z,"enableAckFields");function q(e){let n=new Date;n.setDate(n.getUTCDate()),n.setHours(0,0,0,0);let r=h(n,e+1);return N(r)?L(r):r}i(q,"getMinStartDate");export{R as a,B as b,M as c,K as d,_ as e,Y as f,z as g,q as h};
2
+ //# sourceMappingURL=chunk-HRG5MSVG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/files.ts","../src/components/form/utils.ts"],"sourcesContent":["const toBase64 = (file: File): Promise<string> => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n });\n};\n\nexport const convertFilesToBase64 = async (files: File[]) => {\n const base64Files = await Promise.all(\n files.map(async (file) => {\n const base64 = await toBase64(file);\n return {\n ...file,\n name: file.name,\n size: file.size,\n type: file.type,\n content: base64.split(',')[1],\n };\n }),\n );\n return base64Files;\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Field } from '@/src/flows/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { convertFilesToBase64 } from '@/src/lib/files';\nimport { addBusinessDays, isWeekend, nextMonday } from 'date-fns';\nimport get from 'lodash.get';\n\nconst textInputTypes = {\n TEXT: 'text',\n TEXTAREA: 'textarea',\n NUMBER: 'number',\n SELECT: 'select',\n COUNTRIES: 'countries',\n TEL: 'tel',\n EMAIL: 'email',\n MONEY: 'money',\n DATE: 'date',\n DATE_RANGE: 'date-range',\n CURRENCIES: 'currencies',\n TIME: 'time',\n} as const;\n\nconst checkboxTypes = {\n CHECKBOX: 'checkbox',\n ACK_CHECK: 'ack-check',\n} as const;\n\nconst supportedTypes = {\n FILE: 'file',\n RADIO: 'radio',\n /** @deprecated */\n RADIO_CARD: 'radio-card',\n GROUP_ARRAY: 'group-array',\n EXTRA: 'extra',\n STATEMENT: 'statement',\n HIDDEN: 'hidden',\n FIELDSET: 'fieldset',\n FIELDSET_FLAT: 'fieldset-flat',\n WORK_SCHEDULE: 'work-schedule',\n WORK_WEEK_SCHEDULE: 'work-week-schedule',\n /** @deprecated we still display benefits in read-only contract details view, but never in any form */\n BENEFITS: 'benefits',\n SIGNATURE: 'signature',\n SELECT_MULTIPLE: 'select-multiple',\n ...textInputTypes,\n ...checkboxTypes,\n} as const;\n\nexport function round(value: number): number {\n return Math.round((value + Number.EPSILON) * 100) / 100;\n}\n\nfunction convertToValidCost(value: string) {\n return parseFloat(value.replace(/,/g, ''));\n}\n\nexport function convertToCents(\n amount?: number | string | string[] | null | boolean,\n) {\n if (\n amount == null ||\n amount === '' ||\n Number.isNaN(amount) ||\n Array.isArray(amount) ||\n typeof amount === 'boolean'\n ) {\n return null;\n }\n\n let validAmount: number;\n\n if (typeof amount === 'string') {\n validAmount = convertToValidCost(amount);\n } else {\n validAmount = amount;\n }\n\n return round(validAmount * 100);\n}\n\nexport function convertFromCents(amount?: number | string | null) {\n if (amount == null || Number.isNaN(amount)) return null;\n\n let normalizedValue: number;\n\n if (typeof amount === 'string') {\n normalizedValue = convertToValidCost(amount || '0');\n } else {\n normalizedValue = amount;\n }\n\n return round(normalizedValue / 100);\n}\n\nconst trimStringValues = (values: Record<string, any>) =>\n Object.entries(values || {}).reduce<Record<string, any>>(\n (result, [key, value]) => {\n if (Array.isArray(value)) {\n // If the value is an array, recursively process each element\n result[key] = value.map((item) =>\n typeof item === 'object' && item !== null\n ? trimStringValues(item)\n : typeof item === 'string'\n ? item.trim()\n : item,\n );\n } else if (typeof value === 'object' && value !== null) {\n // If the value is an object, recursively process it\n result[key] = trimStringValues(value);\n } else {\n // Otherwise, trim the string or keep the value as is\n result[key] = typeof value === 'string' ? value.trim() : value;\n }\n return result;\n },\n {},\n );\n\n/**\n * Given a list of form values, modify the ones that are readOnly,\n * based on their field config, by adding its defaultValue.\n * This is needed to support readOnly fields that are also conditional\n * based on the \"pivotName\" workaround.\n * @param {Object} values - List with form values { name: value }.\n * @param {Array} fields - Respective form fields configuration.\n */\nfunction prefillReadOnlyFields(values: Record<string, any>, fields: any[]) {\n const newValues: Record<string, any> = {};\n\n fields.forEach((field) => {\n const fieldName = field.name;\n\n if (\n !Object.prototype.hasOwnProperty.call(values, fieldName!) &&\n !(\n field.inputType === supportedTypes.FIELDSET &&\n field.valueGroupingDisabled\n )\n )\n return;\n\n if (\n field.inputType === supportedTypes.FIELDSET &&\n field.valueGroupingDisabled\n ) {\n Object.assign(newValues, prefillReadOnlyFields(values, field.fields));\n return;\n }\n\n if (field.readOnly && field.defaultValue) {\n newValues[fieldName!] = field.defaultValue;\n } else {\n newValues[fieldName!] = values[fieldName!];\n }\n });\n\n return newValues;\n}\n/**\n * Recursively extracts fieldsets' fields values and maps them to the field name\n * For nested fields that are fieldsets with valueGroupingDisabled, the values\n * are extracted one level up\n *\n * @param {Array} fields - Fieldset fields configuration.\n * @param {Object} formValues - List with form values { name: value }.\n * @return {Object} – Raw form values mapped to the field name\n */\nfunction extractFieldsetFieldsValues(\n fields: any[],\n formValues: Record<string, unknown>,\n) {\n return fields.reduce<Record<string, any>>((nestedAcc, subField) => {\n const isFieldsetValueGroupingDisabled =\n subField.inputType === supportedTypes.FIELDSET &&\n subField.valueGroupingDisabled;\n\n if (isFieldsetValueGroupingDisabled) {\n Object.assign(\n nestedAcc,\n extractFieldsetFieldsValues(subField.fields, formValues),\n );\n } else if (\n Object.prototype.hasOwnProperty.call(formValues, subField.name!)\n ) {\n nestedAcc[subField.name!] = formValues[subField.name!];\n }\n\n return nestedAcc;\n }, {});\n}\n\nexport const fieldTypesTransformations: Record<string, any> = {\n [supportedTypes.COUNTRIES]: {\n /**\n * @param {String[] | { name: String }[]} value\n * - Excepted: array of strings.\n * - Edge cases: array of objects. (when using dangerousTransformValue)\n * @returns {String[]} - List of countries\n * @example expected: ['Peru', 'Germany'] -> ['Peru', 'Germany']\n * @example edge cases: [{name: 'Peru'}, {name: 'Germany'}] -> ['Peru', 'Germany']\n */\n transformValueToAPI:\n (field: any) => (selectedCountries: string[] | { name: string }[]) => {\n if (!field.multiple || typeof selectedCountries === 'string') {\n return selectedCountries;\n }\n // NOTE: The value should be an array of strings, however legacy data can come as\n // an array of country objects. So, we always send an array of strings to normalize\n // the data (eg old form values being modified) until DB migration is done !5667\n return selectedCountries.map((option) =>\n typeof option === 'string' ? option : option.name,\n );\n },\n /**\n * Used for react-select, where the country selected is transformed\n * before saving on Formik state. Supports both solo and multi select\n * @param {Object|Object[]} selectedCountry[] - Current selected options\n * @param {String} selectedCountry[].value\n * @param {String} selectedCountry[].name\n * @param {String} selectedCountry[].label\n * @returns {String[]} - List of countries selected\n * @example\n * [{ value: 'Hungria' }] -> ['Hungria']\n */\n transformValue: (selectedCountry: any | any[]) => {\n // name or label are used in dragon. value is used in json-schema-form\n // TODO: it should be the same everywhere — read more at !5667\n const getCountryValue = (opt: any) =>\n opt?.name || opt?.value || opt?.label;\n return Array.isArray(selectedCountry)\n ? selectedCountry.map(getCountryValue) // support multi countries\n : getCountryValue(selectedCountry) || ''; // Fallback to '' in case user removes all countries\n },\n },\n [supportedTypes.NUMBER]: {\n transformValueToAPI: () => (value: string) => {\n // this prevents values with letters such as \"2r\" from being considered valid\n // if the input is invalid, number().cast will return NaN\n const castValue = Number(value);\n\n if (Number.isNaN(castValue)) {\n return value;\n }\n\n return castValue;\n },\n },\n [supportedTypes.MONEY]: {\n transformValueFromAPI: () => (value: string | number) =>\n convertFromCents(value) ?? '',\n transformValueToAPI: () => convertToCents,\n },\n [supportedTypes.RADIO]: {\n transformValueToAPI: (field: any) => (value: string) => {\n if (field.transformToBool) {\n return value === 'yes';\n }\n return value;\n },\n },\n [supportedTypes.CHECKBOX]: {\n transformValueToAPI: (field: any) => (value: string | boolean) => {\n if (value === undefined) {\n return false;\n }\n\n if (field.const && value === true) {\n return field.const;\n }\n return value;\n },\n },\n [supportedTypes.SELECT]: {\n /**\n * Used for react-select, where the value is transformed\n * before saving on Formik state.\n * @param {Object | Object[]} option - Object structure with options config\n * @param {String} option[].value - Key for the API\n * @param {Array} this.options[].label - Friendly label\n * @example\n * [{ value: '1', label: 'One' }, { value: '2', label: 'Two' }] -> [\"One\", \"Two\"]\n * { value: '1', label: 'One' } -> \"One\"\n * {} -> \"\"\n */\n transformValue: (option: any | any[]) =>\n Array.isArray(option)\n ? option.map((opt) => opt.value) // multi-options\n : (option?.value ?? ''), // Fallback to '' in case user removes all options,\n },\n [supportedTypes.FILE]: {\n transformValueToAPI: () => async (files: File[]) => {\n if (!files) {\n return null;\n }\n\n return await convertFilesToBase64(files);\n },\n },\n};\nexport async function parseFormValuesToAPI(\n formValues: Record<string, any> = {},\n fields: any[],\n) {\n const filteredFields = fields.filter(\n (field) =>\n formValues[field.name!] ||\n (field.inputType === supportedTypes.FIELDSET &&\n field.valueGroupingDisabled),\n );\n\n const parsedFieldsWithValues = await Promise.all(\n filteredFields.map(async (field) => {\n const acc: Record<string, any> = {};\n\n switch (field.inputType) {\n case supportedTypes.FIELDSET: {\n const fieldset = field;\n if (fieldset.valueGroupingDisabled) {\n const nestedFormValues = extractFieldsetFieldsValues(\n fieldset.fields,\n formValues,\n );\n\n Object.assign(\n acc,\n await parseFormValuesToAPI(nestedFormValues, fieldset.fields),\n );\n } else {\n const fieldsetValue = formValues[field.name!];\n\n // Filter out empty properties from fieldset objects\n // this code avoids sending department: {id: '1234', name: ''} or even department: {id: undefined, name: undefined}\n if (\n fieldsetValue &&\n typeof fieldsetValue === 'object' &&\n !Array.isArray(fieldsetValue)\n ) {\n const cleanedValue = Object.fromEntries(\n Object.entries(fieldsetValue).filter(([, value]) => {\n // Keep the property if it has a meaningful value\n return value !== '' && value !== null && value !== undefined;\n }),\n );\n\n acc[field.name!] =\n Object.keys(cleanedValue).length > 0\n ? await parseFormValuesToAPI(cleanedValue, fieldset.fields)\n : undefined;\n } else {\n acc[field.name!] = await parseFormValuesToAPI(\n fieldsetValue,\n fieldset.fields,\n );\n }\n }\n break;\n }\n\n case supportedTypes.TEXTAREA:\n case supportedTypes.TEXT:\n // Attempt to remove null bytes from form values - https://gitlab.com/remote-com/employ-starbase/tracker/-/issues/10670\n acc[field.name] = formValues[field.name].replace(/\\0/g, '');\n break;\n\n case supportedTypes.GROUP_ARRAY: {\n // NOTE: The field `name` in group arrays represents a path, but we only\n // need the last part of it which is represented by `nameKey`.\n const transformedFields = field?.fields?.().map((subField: any) => ({\n ...subField,\n name: subField.nameKey || '',\n }));\n\n const parsedFieldValues = await Promise.all(\n formValues[field.name]?.map((fieldValues: Record<string, any>) =>\n parseFormValuesToAPI(fieldValues, transformedFields),\n ) || [],\n );\n\n acc[field.name] = parsedFieldValues;\n break;\n }\n\n case supportedTypes.EXTRA: {\n const extraField = field;\n if (extraField.includeValueToApi !== false) {\n const formValue = formValues[extraField.name];\n const fieldTransformValueToAPI =\n extraField?.transformValueToAPI ||\n fieldTypesTransformations[extraField.inputType]\n ?.transformValueToAPI;\n\n if (fieldTransformValueToAPI) {\n const result = fieldTransformValueToAPI(field)(formValue);\n // Await if it's a promise\n acc[extraField.name] =\n result instanceof Promise ? await result : result;\n break;\n }\n\n acc[extraField.name] = formValue;\n break;\n }\n acc[extraField.name] = undefined;\n break;\n }\n\n default: {\n const formValue = formValues[field.name];\n const fieldTransformValueToAPI =\n field?.transformValueToAPI ||\n fieldTypesTransformations[field.inputType]?.transformValueToAPI;\n\n if (fieldTransformValueToAPI) {\n const result = fieldTransformValueToAPI(field)(formValue);\n // Await if it's a promise - THIS IS THE KEY FIX\n acc[field.name] = result instanceof Promise ? await result : result;\n break;\n }\n acc[field.name] = formValue;\n break;\n }\n }\n\n if (field.forcedValue !== undefined) {\n acc[field.name!] = field.forcedValue;\n }\n\n return acc;\n }),\n );\n\n // Merge all accumulated objects\n return parsedFieldsWithValues.reduce(\n (acc, current) => ({ ...acc, ...current }),\n { ...formValues },\n );\n}\n\nfunction isFieldVisible(field: any, formValues: Record<string, unknown>) {\n if (field.visibilityCondition) {\n return field.visibilityCondition(formValues);\n }\n\n if (typeof field.isVisible !== 'undefined') {\n return Boolean(field.isVisible);\n }\n\n return true;\n}\n\nfunction applyFieldDynamicProperties(\n field: any,\n values: Record<string, unknown> | Record<string, unknown>[],\n) {\n if (field.calculateDynamicProperties) {\n return {\n ...field,\n ...(field.calculateDynamicProperties(values) || {}),\n };\n }\n\n return field;\n}\n\nfunction excludeValuesInvisible(\n values: any,\n fields: any[],\n keepTruthyInvisibleValues?: boolean,\n parentFieldKeyPath?: string,\n) {\n const valuesAsked: Record<string, any> = {};\n\n fields\n .map((field) => applyFieldDynamicProperties(field, values))\n .forEach((field) => {\n let fieldKeyPath = field.name;\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${field.name}`\n : parentFieldKeyPath;\n }\n\n const valueOfField = get(values, fieldKeyPath!);\n\n // keepTruthyInvisibleValues: false/undefined -> remove invisible field\n // keepTruthyInvisibleValues: true -> keep invisible field if it has a value\n if (\n !isFieldVisible(field, values) &&\n !(keepTruthyInvisibleValues && !!valueOfField)\n ) {\n return;\n }\n\n if (field.meta?.ignoreValue) {\n return;\n }\n\n if (field.inputType === 'fieldset' && field.valueGroupingDisabled) {\n Object.assign(\n valuesAsked,\n excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n ),\n );\n } else if (Array.isArray(field.fields)) {\n valuesAsked[field.name!] = excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n );\n } else {\n if (valueOfField === undefined) {\n return;\n }\n valuesAsked[field.name!] = valueOfField;\n }\n });\n\n return valuesAsked;\n}\n\nfunction removeEmptyValues<T extends Record<string, any>>(\n obj: T,\n): Record<string, any> {\n return Object.fromEntries(\n Object.entries(obj).filter(\n ([, value]) => value !== undefined && value !== null && value !== '',\n ),\n );\n}\n\nfunction cleanUnderscoreFields(obj: Record<string, any>): Record<string, any> {\n if (Array.isArray(obj)) {\n return obj.map(cleanUnderscoreFields);\n }\n if (obj && typeof obj === 'object') {\n return Object.entries(obj).reduce(\n (acc, [key, value]) => {\n if (!key.startsWith('_')) {\n acc[key] = cleanUnderscoreFields(value);\n }\n return acc;\n },\n {} as Record<string, any>,\n );\n }\n return obj;\n}\n\nexport async function parseSubmitValues(\n formValues: Record<string, any>,\n fields: any[],\n config?: { keepInvisibleValues?: boolean },\n) {\n const visibleFormValues = config?.keepInvisibleValues\n ? formValues\n : excludeValuesInvisible(formValues, fields);\n const convertedFormValues = await parseFormValuesToAPI(\n visibleFormValues,\n fields,\n );\n const formValuesWithTrimmedStrings = trimStringValues(convertedFormValues);\n\n const formValuesWithUndefined = removeEmptyValues(\n formValuesWithTrimmedStrings,\n );\n\n const valuesWithReadOnly = prefillReadOnlyFields(\n formValuesWithUndefined,\n fields,\n );\n return cleanUnderscoreFields(valuesWithReadOnly);\n}\n\nexport async function parseJSFToValidate(\n formValues: Record<string, any>,\n fields: JSFFields,\n config: { isPartialValidation: boolean } = {\n isPartialValidation: false,\n },\n) {\n const valuesParsed = await parseSubmitValues(formValues, fields, {\n /* We cannot exclude invisible fields (excludeValuesInvisible) because\n they are needed for conditional fields validations */\n keepInvisibleValues: config?.isPartialValidation,\n });\n return valuesParsed;\n}\n\nfunction castFieldTo<T>(field: Field) {\n return field as unknown as T;\n}\n\nfunction getDefaultValueForType(type: string) {\n switch (type) {\n case supportedTypes.FILE:\n return undefined; // Allows fallback values in function declarations to be used\n default:\n return '';\n }\n}\n\nfunction getInitialDefaultValue(\n defaultValues: Record<string, any>,\n field: Field,\n) {\n // lodash get is needed because some values could be nested object, like billing address\n // use camelCase to support forms with fields in snake_case or kebab_case.\n const defaultFieldValue = get(defaultValues, field.name);\n const fieldTransformValueFromAPI =\n field?.transformValueFromAPI ||\n fieldTypesTransformations[field.inputType]?.transformValueFromAPI;\n\n if (fieldTransformValueFromAPI) {\n return fieldTransformValueFromAPI(field)(defaultFieldValue);\n }\n\n // TODO: We need to get rid of value as fn for json-schema. Related !5560\n const generatedValue =\n typeof field.value === 'function'\n ? field.value(defaultFieldValue, defaultValues)\n : null;\n\n // field.value is deprecated. should use \"default\" instead.\n const defaultValueDeprecated =\n typeof field.value !== 'function' ? field.value : null;\n const initialValueForCheckboxAsBool =\n castFieldTo<$TSFixMe>(field).checkboxValue === true\n ? defaultFieldValue || false\n : null;\n\n // nullish coalescing but excluding empty strings. (to support 0 (zero) as valid numbers)\n const excludeString = (val: any) => (val === '' ? undefined : val);\n\n return (\n excludeString(generatedValue) ??\n excludeString(defaultFieldValue) ??\n excludeString(defaultValueDeprecated) ??\n excludeString(field.default) ??\n initialValueForCheckboxAsBool ??\n getDefaultValueForType(field.inputType)\n );\n}\n\n/**\n * Get initial values for sub fields within fieldsets\n * @param {Object} field The form field\n * @param {Object} defaultValues The form default values\n * @param {String=} parentFieldKeyPath The path to the parent field using dot-notation\n * @returns {Object} The initial values for a fieldset\n */\nfunction getInitialSubFieldValues(\n field: $TSFixMe,\n defaultValues: Record<string, unknown>,\n parentFieldKeyPath?: string,\n) {\n const initialValue: Record<string, Record<string, unknown>> = {};\n\n let fieldKeyPath = field.name;\n\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${fieldKeyPath}`\n : parentFieldKeyPath;\n }\n\n const subFields = field.fields;\n\n if (Array.isArray(subFields)) {\n const subFieldValues = {};\n\n subFields.forEach((subField) => {\n Object.assign(\n subFieldValues,\n getInitialSubFieldValues(subField, defaultValues, fieldKeyPath),\n );\n });\n\n if (\n field.inputType === supportedTypes.FIELDSET &&\n field.valueGroupingDisabled\n ) {\n Object.assign(initialValue, subFieldValues);\n } else {\n initialValue[field.name!] = subFieldValues;\n }\n } else {\n initialValue[field.name!] = getInitialDefaultValue(defaultValues, {\n ...field,\n // NOTE: To utilize the `get` function from `lodash` in `getInitialDefaultValue` correctly\n // we need to use the field path instead of just its name.\n name: fieldKeyPath,\n });\n }\n\n return initialValue;\n}\n\nexport function getInitialValues(\n fields: JSFFields,\n defaultValues: Record<string, unknown>,\n) {\n const initialValues: Record<string, unknown> = {};\n const defaultFieldValues = defaultValues;\n\n // loop over fields array\n // if prop does not exit in the initialValues object,\n // pluck off the name and value props and add it to the initialValues object;\n fields\n .map((field) => applyFieldDynamicProperties(field, defaultFieldValues))\n .forEach((field) => {\n switch (field.inputType) {\n case supportedTypes.FIELDSET: {\n if (field.valueGroupingDisabled) {\n Object.assign(\n initialValues,\n getInitialValues(field.fields, defaultFieldValues),\n );\n } else {\n const subFieldValues = getInitialSubFieldValues(\n field,\n defaultFieldValues,\n );\n Object.assign(initialValues, subFieldValues);\n }\n break;\n }\n default: {\n if (!initialValues[field.name]) {\n initialValues[field.name] = getInitialDefaultValue(\n defaultFieldValues,\n field,\n );\n }\n break;\n }\n }\n });\n\n return initialValues;\n}\n\n/**\n * Wraps fields listed in fieldsets with a fieldset field.\n * @param fields - Complete fields list.\n * @param fieldsets - fields list to be wrapped in a fieldset field.\n * @param values - Values for each field.\n * @returns The fields with the fieldsets wrapped.\n */\nexport function getFieldsWithFlatFieldsets({\n fields = [],\n fieldsets = {},\n values,\n}: {\n fields: any[];\n fieldsets: Record<string, { propertiesByName: string[]; title: string }>;\n values: Record<string, unknown>;\n}) {\n const flatFieldsetsKeys = Object.keys(fieldsets);\n\n if (!flatFieldsetsKeys?.length) {\n return fields;\n }\n\n const flatFieldsetsFieldNames = new Set(\n flatFieldsetsKeys.flatMap(\n (flatFieldsetKey) => fieldsets[flatFieldsetKey]?.propertiesByName ?? [],\n ),\n );\n\n const flatFieldsetsWithFields = flatFieldsetsKeys.map((flatFieldsetKey) => {\n const { propertiesByName: flatFieldsetFields = [], ...rest } =\n fieldsets[flatFieldsetKey];\n\n const childFields = flatFieldsetFields\n .map((name) => fields.find((f) => f.name === name))\n .filter((field): field is any => !!field);\n\n return {\n ...rest,\n name: flatFieldsetKey,\n type: 'fieldset-flat',\n inputType: 'fieldset-flat',\n fields: childFields,\n label: fieldsets[flatFieldsetKey].title,\n // Hide the fieldset if none of the children fields are visible.\n isVisible: childFields\n .map((childField) => applyFieldDynamicProperties(childField, values))\n .some((childField) => isFieldVisible(childField, values)),\n };\n });\n\n const sortedFields = flatFieldsetsWithFields.reduce((accumulator, field) => {\n const accumulatedFieldsSorted = [...accumulator];\n\n /**\n * We place the flat fieldset at the original position of its first field.\n * If no field is found, we move it to the end.\n */\n const fieldsetPosition = field.fields[0]\n ? accumulator.findIndex(\n (accumulatorItem) => accumulatorItem.name === field.fields[0].name,\n )\n : accumulator.length;\n\n accumulatedFieldsSorted.splice(\n fieldsetPosition,\n 0,\n field as unknown as any,\n );\n\n return accumulatedFieldsSorted;\n }, fields);\n\n const filteredFields = sortedFields.filter(\n (field) => !flatFieldsetsFieldNames.has(field.name!),\n );\n\n return filteredFields;\n}\n\nexport function enableAckFields(\n fields: JSFFields,\n values: Record<string, unknown>,\n) {\n let result = values;\n fields.forEach((field) => {\n if ('const' in field) {\n result = Object.fromEntries(\n Object.entries(values).map(([k, v]) => {\n if (k === field.name) {\n return [k, field.const];\n }\n return [k, v];\n }),\n );\n }\n });\n return result;\n}\n\n/**\n * Get the minimum start date for the onboarding process.\n * @param minOnBoardingTime\n * @returns Date\n */\nexport function getMinStartDate(minOnBoardingTime: number) {\n const today = new Date();\n\n // Make sure our base date is UTC and set the time to 00:00:00\n today.setDate(today.getUTCDate());\n today.setHours(0, 0, 0, 0);\n\n // The + 1 ensures you get the full preparation time before the employee can actually start working.\n // It's the difference between \"preparation completes on this day\" vs \"earliest possible start date after preparation\".\n const minDate = addBusinessDays(today, minOnBoardingTime + 1);\n return isWeekend(minDate) ? nextMonday(minDate) : minDate;\n}\n"],"mappings":"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","names":["toBase64","__name","file","resolve","reject","reader","error","convertFilesToBase64","files","base64","addBusinessDays","isWeekend","nextMonday","get","textInputTypes","checkboxTypes","supportedTypes","round","value","__name","convertToValidCost","convertToCents","amount","validAmount","convertFromCents","normalizedValue","trimStringValues","values","result","key","item","prefillReadOnlyFields","fields","newValues","field","fieldName","extractFieldsetFieldsValues","formValues","nestedAcc","subField","fieldTypesTransformations","selectedCountries","option","selectedCountry","getCountryValue","opt","castValue","files","convertFilesToBase64","parseFormValuesToAPI","filteredFields","acc","fieldset","nestedFormValues","fieldsetValue","cleanedValue","transformedFields","parsedFieldValues","fieldValues","extraField","formValue","fieldTransformValueToAPI","current","isFieldVisible","applyFieldDynamicProperties","excludeValuesInvisible","keepTruthyInvisibleValues","parentFieldKeyPath","valuesAsked","fieldKeyPath","valueOfField","get","removeEmptyValues","obj","cleanUnderscoreFields","parseSubmitValues","config","visibleFormValues","convertedFormValues","formValuesWithTrimmedStrings","formValuesWithUndefined","valuesWithReadOnly","parseJSFToValidate","getDefaultValueForType","type","supportedTypes","__name","getInitialDefaultValue","defaultValues","field","defaultFieldValue","get","fieldTransformValueFromAPI","fieldTypesTransformations","generatedValue","defaultValueDeprecated","initialValueForCheckboxAsBool","excludeString","val","getInitialSubFieldValues","parentFieldKeyPath","initialValue","fieldKeyPath","subFields","subFieldValues","subField","getInitialValues","fields","initialValues","defaultFieldValues","applyFieldDynamicProperties","getFieldsWithFlatFieldsets","fieldsets","values","flatFieldsetsKeys","flatFieldsetsFieldNames","flatFieldsetKey","flatFieldsetFields","rest","childFields","name","f","childField","isFieldVisible","accumulator","accumulatedFieldsSorted","fieldsetPosition","accumulatorItem","enableAckFields","result","k","v","getMinStartDate","minOnBoardingTime","today","minDate","addBusinessDays","isWeekend","nextMonday"]}
@@ -0,0 +1,2 @@
1
+ import{b as i}from"./chunk-TOA3JILU.js";import{a as r}from"./chunk-NFWNYW2E.js";import{b as n}from"./chunk-KQPDXXG3.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as b}from"react/jsx-runtime";function l({children:u,...t}){let{formId:m,contractorOnboardingBag:e}=i(),{components:s}=n(),d=s?.button||r;return b(d,{...t,form:m,disabled:t.disabled||e.isSubmitting,children:u})}o(l,"OnboardingSubmit");export{l as a};
2
+ //# sourceMappingURL=chunk-IJ6325YO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/components/OnboardingSubmit.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useContractorOnboardingContext } from '@/src/flows/ContractorOnboarding/context';\nimport { useFormFields } from '@/src/context';\nimport { ButtonDefault } from '@/src/components/form/fields/default/ButtonDefault';\n\nexport function OnboardingSubmit({\n children,\n ...props\n}: PropsWithChildren<\n ButtonHTMLAttributes<HTMLButtonElement> & Record<string, unknown>\n>) {\n const { formId, contractorOnboardingBag } = useContractorOnboardingContext();\n const { components } = useFormFields();\n\n const CustomButton = components?.button || ButtonDefault;\n\n return (\n <CustomButton\n {...props}\n form={formId}\n disabled={props.disabled || contractorOnboardingBag.isSubmitting}\n >\n {children}\n </CustomButton>\n );\n}\n"],"mappings":"gKAiBI,cAAAA,MAAA,oBAZG,SAASC,EAAiB,CAC/B,SAAAC,EACA,GAAGC,CACL,EAEG,CACD,GAAM,CAAE,OAAAC,EAAQ,wBAAAC,CAAwB,EAAIC,EAA+B,EACrE,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAeF,GAAY,QAAUG,EAE3C,OACEV,EAACS,EAAA,CACE,GAAGN,EACJ,KAAMC,EACN,SAAUD,EAAM,UAAYE,EAAwB,aAEnD,SAAAH,EACH,CAEJ,CApBgBS,EAAAV,EAAA","names":["jsx","OnboardingSubmit","children","props","formId","contractorOnboardingBag","useContractorOnboardingContext","components","useFormFields","CustomButton","ButtonDefault","__name"]}
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-L3Z2G32A.js";import{a as e}from"./chunk-P37U34EQ.js";import*as o from"@radix-ui/react-label";import{jsx as r}from"react/jsx-runtime";function l({className:a,...i}){return r(o.Root,{"data-slot":"label",className:t("flex items-center gap-2 text-sm leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50",a),...i})}e(l,"Label");export{l as a};
2
- //# sourceMappingURL=chunk-PMTKQME6.js.map
1
+ import{a as t}from"./chunk-UQCSN47K.js";import{a as e}from"./chunk-P37U34EQ.js";import*as o from"@radix-ui/react-label";import{jsx as r}from"react/jsx-runtime";function l({className:a,...i}){return r(o.Root,{"data-slot":"label",className:t("flex items-center gap-2 text-sm leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50",a),...i})}e(l,"Label");export{l as a};
2
+ //# sourceMappingURL=chunk-ILOKQ6OH.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-7COHIUGW.js";import{b as c}from"./chunk-TOA3JILU.js";import{b as d}from"./chunk-2YTBWEC7.js";import{a as t}from"./chunk-P37U34EQ.js";import{Suspense as u,lazy as F}from"react";import{jsx as i}from"react/jsx-runtime";var E=F(()=>import("./PdfPreview-6C3GGXIN.js").then(o=>({default:o.PDFPreview}))),l=t(o=>i(u,{fallback:i("div",{className:"animate-pulse",children:"Loading PDF..."}),children:i(E,{...o})}),"LazyPdfPreview");import{jsx as p,jsxs as S}from"react/jsx-runtime";function M({onSubmit:o,onSuccess:P,onError:n}){let{contractorOnboardingBag:r}=c(),w=t(async s=>{try{let a=await r.parseFormValues(s);await o?.(a);let e=await r.onSubmit(s);if(e?.data){await P?.(e?.data),r?.next();return}if(e?.error){let f=d(e?.fieldErrors||[],r.meta?.fields?.contract_preview);n?.({error:e?.error,rawError:e?.rawError,fieldErrors:f})}}catch(a){n?.({error:a,rawError:a,fieldErrors:[]})}},"handleSubmit"),v=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return S("div",{className:"space-y-4",children:[p(l,{base64Data:r.documentPreviewPdf?.contract_document.content}),p(m,{defaultValues:v,onSubmit:w})]})}t(M,"ContractPreviewStep");export{M as a};
2
- //# sourceMappingURL=chunk-PZNXAOZH.js.map
1
+ import{a as m}from"./chunk-XCA33UL6.js";import{b as c}from"./chunk-TOA3JILU.js";import{b as d}from"./chunk-2YTBWEC7.js";import{a as t}from"./chunk-P37U34EQ.js";import{Suspense as u,lazy as F}from"react";import{jsx as i}from"react/jsx-runtime";var E=F(()=>import("./PdfPreview-2VXVDUFP.js").then(o=>({default:o.PDFPreview}))),l=t(o=>i(u,{fallback:i("div",{className:"animate-pulse",children:"Loading PDF..."}),children:i(E,{...o})}),"LazyPdfPreview");import{jsx as p,jsxs as S}from"react/jsx-runtime";function M({onSubmit:o,onSuccess:P,onError:n}){let{contractorOnboardingBag:r}=c(),w=t(async s=>{try{let a=await r.parseFormValues(s);await o?.(a);let e=await r.onSubmit(s);if(e?.data){await P?.(e?.data),r?.next();return}if(e?.error){let f=d(e?.fieldErrors||[],r.meta?.fields?.contract_preview);n?.({error:e?.error,rawError:e?.rawError,fieldErrors:f})}}catch(a){n?.({error:a,rawError:a,fieldErrors:[]})}},"handleSubmit"),v=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return S("div",{className:"space-y-4",children:[p(l,{base64Data:r.documentPreviewPdf?.contract_document.content}),p(m,{defaultValues:v,onSubmit:w})]})}t(M,"ContractPreviewStep");export{M as a};
2
+ //# sourceMappingURL=chunk-JS3H25UQ.js.map
@@ -1,2 +1,2 @@
1
- import{f as n,g as a}from"./chunk-66N57DKF.js";import{d as m}from"./chunk-ARTSDUSS.js";import{b as i}from"./chunk-TVZAFTPT.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function R({onSubmit:d,onError:c,onSuccess:l}){let{contractAmendment:{stepState:u,isSubmitting:f,onSubmit:C,fields:p},formId:A}=i(),e=n({defaultValues:u.values?.form}),F=o(async r=>{let S=await m(r,p,{isPartialValidation:!1});await d?.(S);let t=await C(r);t.error?c?.(t.error):await l?.(t.data)},"handleSubmit");return f?null:s(a,{...e,children:s("form",{id:A,onSubmit:e.handleSubmit(F),className:"RemoteFlows__ContractAmendmentConfirmationForm"})})}o(R,"ContractAmendmentConfirmationForm");export{R as a};
2
- //# sourceMappingURL=chunk-KKGRYDZA.js.map
1
+ import{f as n,g as a}from"./chunk-CR7AIZKA.js";import{d as m}from"./chunk-HRG5MSVG.js";import{b as i}from"./chunk-TVZAFTPT.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function R({onSubmit:d,onError:c,onSuccess:l}){let{contractAmendment:{stepState:u,isSubmitting:f,onSubmit:C,fields:p},formId:A}=i(),e=n({defaultValues:u.values?.form}),F=o(async r=>{let S=await m(r,p,{isPartialValidation:!1});await d?.(S);let t=await C(r);t.error?c?.(t.error):await l?.(t.data)},"handleSubmit");return f?null:s(a,{...e,children:s("form",{id:A,onSubmit:e.handleSubmit(F),className:"RemoteFlows__ContractAmendmentConfirmationForm"})})}o(R,"ContractAmendmentConfirmationForm");export{R as a};
2
+ //# sourceMappingURL=chunk-K3XVYHGV.js.map
@@ -0,0 +1,2 @@
1
+ import{K as l,o as u,v as f,x as d}from"./chunk-W3YE53JN.js";import{d as o}from"./chunk-KQPDXXG3.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as y,useQuery as i}from"@tanstack/react-query";var k=t(({employmentId:e})=>{let{client:a}=o();return i({queryKey:["employment",e],retry:!1,queryFn:t(()=>d({client:a,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),enabled:!!e,select:t(({data:r})=>r?.data?.employment,"select")})},"useEmploymentQuery"),c=t(({employmentId:e,status:a,timeoffType:r,options:n})=>{let{client:s}=o();return i({queryKey:["timeoff",e,a],retry:!1,queryFn:t(()=>l({client:s,headers:{Authorization:""},query:{employment_id:e,status:a,timeoff_type:r}}),"queryFn"),select:t(({data:m})=>n?.select?.(m)??m,"select"),enabled:n?.enabled})},"useTimeOffQuery"),p=t((e,a)=>{let r=new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),n=new Date(a).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});return`${r} \u2192 ${n}`},"formatDateRange"),P=t(({employmentId:e,options:a})=>c({employmentId:e,timeoffType:"paid_time_off",options:{enabled:a?.enabled,select:t(r=>({bookedDays:r?.data?.timeoffs?.reduce((n,s)=>n+(s?.timeoff_days?.length||0),0)||0,timeoffs:r?.data?.timeoffs?.map(n=>({status:n?.status,duration:n?.timeoff_days.length,startDate:n?.start_date,endDate:n?.end_date,formattedDate:p(n?.start_date,n?.end_date)}))||[]}),"select")}}),"usePaidTimeoffBreakdownQuery"),S=t(({employmentId:e})=>{let{client:a}=o();return i({queryKey:["timeoff-balance",e],retry:!1,queryFn:t(()=>f({client:a,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),select:t(({data:r})=>r,"select")})},"useTimeOffLeavePoliciesSummaryQuery"),x=t(()=>{let{client:e}=o();return y({mutationFn:t(a=>u({client:e,headers:{Authorization:""},body:a}),"mutationFn")})},"useMagicLink");export{k as a,c as b,P as c,S as d,x as e};
2
+ //# sourceMappingURL=chunk-KDI2AVBF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/api/index.ts"],"sourcesContent":["import {\n getIndexLeavePoliciesSummary,\n getIndexTimeoff,\n getShowEmployment,\n ListTimeoffResponse,\n MagicLinkParams,\n postGenerateMagicLink,\n TimeoffStatus,\n TimeoffType,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { ContractAmendmentParams } from '@/src/flows/ContractAmendment/types';\n\nimport { Client } from '@/src/client/client';\nimport { useMutation, useQuery } from '@tanstack/react-query';\n\ntype UseEmployment = Pick<ContractAmendmentParams, 'employmentId'>;\n\n/**\n * Hook to retrieve employment details for a specific employment ID.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} params.employmentId - The ID of the employment to fetch details for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the employment details.\n */\nexport const useEmploymentQuery = ({ employmentId }: UseEmployment) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n queryFn: () => {\n return getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId },\n });\n },\n enabled: !!employmentId,\n select: ({ data }) => data?.data?.employment,\n });\n};\n\n/**\n * Hook to retrieve time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off data for.\n * @param {TimeoffStatus} [params.status] - The status of the time off requests to filter by (e.g., 'approved', 'pending').\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off data.\n *\n */\nexport const useTimeOffQuery = <TData = ListTimeoffResponse>({\n employmentId,\n status,\n timeoffType,\n options,\n}: {\n employmentId?: string;\n status?: TimeoffStatus;\n timeoffType?: TimeoffType;\n options?: {\n enabled?: boolean;\n select?: (data: ListTimeoffResponse | undefined) => TData;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff', employmentId, status],\n retry: false,\n queryFn: () => {\n return getIndexTimeoff({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n employment_id: employmentId,\n status: status,\n timeoff_type: timeoffType,\n },\n });\n },\n select: ({ data }) => (options?.select?.(data) ?? data) as TData,\n enabled: options?.enabled,\n });\n};\n\nconst formatDateRange = (startDate: string, endDate: string) => {\n const start = new Date(startDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n const end = new Date(endDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n return `${start} → ${end}`;\n};\n\nexport type PaidTimeoffBreakdownResponse = {\n bookedDays: number;\n timeoffs: {\n status: string;\n duration: number;\n startDate: string;\n endDate: string;\n formattedDate: string;\n }[];\n};\n\n/**\n * Hook to retrieve paid time off breakdown for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch paid time off breakdown for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the paid time off breakdown.\n *\n */\nexport const usePaidTimeoffBreakdownQuery = ({\n employmentId,\n options,\n}: {\n employmentId?: string;\n options?: {\n enabled?: boolean;\n };\n}) => {\n return useTimeOffQuery<PaidTimeoffBreakdownResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n return {\n bookedDays:\n data?.data?.timeoffs?.reduce(\n (acc, timeoff) => acc + (timeoff?.timeoff_days?.length || 0),\n 0,\n ) || 0,\n timeoffs:\n data?.data?.timeoffs?.map((timeoff) => {\n return {\n status: timeoff?.status,\n duration: timeoff?.timeoff_days.length,\n startDate: timeoff?.start_date,\n endDate: timeoff?.end_date,\n formattedDate: formatDateRange(\n timeoff?.start_date,\n timeoff?.end_date,\n ),\n };\n }) || [],\n };\n },\n },\n });\n};\n\n/**\n * Hook to retrieve time off balance for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off balance for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off balance.\n *\n */\nexport const useTimeOffLeavePoliciesSummaryQuery = ({\n employmentId,\n}: {\n employmentId?: string;\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff-balance', employmentId],\n retry: false,\n queryFn: () => {\n return getIndexLeavePoliciesSummary({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId as string },\n });\n },\n select: ({ data }) => data,\n });\n};\n\nexport const useMagicLink = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (params: MagicLinkParams) => {\n return postGenerateMagicLink({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: params,\n });\n },\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useEmploymentQuery","__name","employmentId","client","useClient","useQuery","getShowEmployment","data","useTimeOffQuery","status","timeoffType","options","getIndexTimeoff","formatDateRange","startDate","endDate","start","end","usePaidTimeoffBreakdownQuery","acc","timeoff","useTimeOffLeavePoliciesSummaryQuery","getIndexLeavePoliciesSummary","useMagicLink","useMutation","params","postGenerateMagicLink"]}
@@ -1,2 +1,2 @@
1
- import{b as y}from"./chunk-LJGCFFAT.js";import{a as i}from"./chunk-L3Z2G32A.js";import{a as o}from"./chunk-P37U34EQ.js";import*as D from"react";import*as v from"@radix-ui/react-checkbox";import{Check as V}from"lucide-react";import{jsx as h}from"react/jsx-runtime";var B=D.forwardRef(({className:e,...t},r)=>h(v.Root,{ref:r,className:i("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(v.Indicator,{className:i("flex items-center justify-center text-current"),children:h(V,{className:"h-4 w-4"})})}));B.displayName=v.Root.displayName;import{useState as G,useRef as F,useEffect as U}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 de({onChange:e,className:t,multiple:r,accept:p,files:u}){let[f,x]=G(u||[]),N=F(null);U(()=>{u&&u.length>0&&x(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);x([...f,...m]),e([...f,...m])}},"handleChange"),_=o(l=>{x(m=>m.filter(T=>T.name!==l.name)),e(f.filter(m=>m.name!==l.name))},"onRemoveFile"),w=L(p);return P("div",{className:i("flex flex-col items-start gap-4",t),children:[d("input",{type:"file",ref:N,onChange:z,className:"hidden","aria-label":"File upload",multiple:r,accept:p}),P(y,{type:"button",onClick:I,className:"gap-2",children:[d(A,{className:"h-4 w-4"}),"Choose File"]}),w&&P("div",{className:"text-sm text-gray-600",children:["Accepted formats:"," ",d("span",{className:"font-medium",children:w})]}),f.length===0&&d("div",{className:"text-sm",children:r?d("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):d("span",{className:"font-medium",children:"No file selected."})}),f.length>0&&f.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(de,"FileUploader");import*as g from"@radix-ui/react-radio-group";import{CircleIcon as M}from"lucide-react";import{jsx as b}from"react/jsx-runtime";function ve({className:e,...t}){return b(g.Root,{"data-slot":"radio-group",className:i("grid gap-3",e),...t})}o(ve,"RadioGroup");function Pe({className:e,...t}){return b(g.Item,{"data-slot":"radio-group-item",className:i("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:b(g.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:b(M,{className:"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}o(Pe,"RadioGroupItem");import*as a from"@radix-ui/react-select";import{CheckIcon as j,ChevronDownIcon as k,ChevronUpIcon as H}from"lucide-react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function Re({...e}){return n(a.Root,{"data-slot":"select",...e})}o(Re,"Select");function Se({...e}){return n(a.Group,{"data-slot":"select-group",...e})}o(Se,"SelectGroup");function Ne({...e}){return n(a.Value,{"data-slot":"select-value",...e})}o(Ne,"SelectValue");function we({className:e,children:t,...r}){return C(a.Trigger,{"data-slot":"select-trigger",className:i("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),...r,children:[t,n(a.Icon,{asChild:!0,className:"absolute right-4",children:n(k,{className:"size-4"})})]})}o(we,"SelectTrigger");function De({className:e,children:t,position:r="popper",...p}){return n(a.Portal,{children:C(a.Content,{"data-slot":"select-content",className:i("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",r==="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:r,...p,children:[n(O,{}),n(a.Viewport,{className:i(r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),n(X,{})]})})}o(De,"SelectContent");function ke({className:e,children:t,...r}){return C(a.Item,{"data-slot":"select-item",className:i("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),...r,children:[n(a.ItemText,{children:t}),n("span",{className:"flex size-3.5 items-center justify-center",children:n(a.ItemIndicator,{children:n(j,{className:"size-4"})})})]})}o(ke,"SelectItem");function O({className:e,...t}){return n(a.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:i("flex cursor-default items-center justify-center py-1",e),...t,children:n(H,{className:"size-4"})})}o(O,"SelectScrollUpButton");function X({className:e,...t}){return n(a.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:i("flex cursor-default items-center justify-center py-1",e),...t,children:n(k,{className:"size-4"})})}o(X,"SelectScrollDownButton");import{Slot as q}from"@radix-ui/react-slot";import{cva as K}from"class-variance-authority";import{jsx as Y}from"react/jsx-runtime";var W=K("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-badge text-badge-foreground rounded-full [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground rounded-full [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white rounded-full [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",outline:"text-foreground rounded-full [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function Ge({className:e,variant:t,asChild:r=!1,...p}){return Y(r?q:"span",{"data-slot":"badge",className:i(W({variant:t}),e),...p})}o(Ge,"Badge");import*as s from"@radix-ui/react-dialog";import{XIcon as J}from"lucide-react";import{jsx as c,jsxs as R}from"react/jsx-runtime";function Me({...e}){return c(s.Root,{"data-slot":"dialog",...e})}o(Me,"Dialog");function je({...e}){return c(s.Trigger,{"data-slot":"dialog-trigger",...e})}o(je,"DialogTrigger");function Q({...e}){return c(s.Portal,{"data-slot":"dialog-portal",...e})}o(Q,"DialogPortal");function Z({className:e,...t}){return c(s.Overlay,{"data-slot":"dialog-overlay",className:i("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(Z,"DialogOverlay");function He({className:e,children:t,...r}){return R(Q,{"data-slot":"dialog-portal",children:[c(Z,{}),R(s.Content,{"data-slot":"dialog-content",className:i("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),...r,children:[t,R(s.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(J,{}),c("span",{className:"sr-only",children:"Close"})]})]})]})}o(He,"DialogContent");function Oe({className:e,...t}){return c("div",{"data-slot":"dialog-header",className:i("flex flex-col gap-2 text-center sm:text-left",e),...t})}o(Oe,"DialogHeader");function Xe({className:e,...t}){return c("div",{"data-slot":"dialog-footer",className:i("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}o(Xe,"DialogFooter");function qe({className:e,...t}){return c(s.Title,{"data-slot":"dialog-title",className:i("text-lg leading-none font-semibold",e),...t})}o(qe,"DialogTitle");function Ke({className:e,...t}){return c(s.Description,{"data-slot":"dialog-description",className:i("text-muted-foreground text-sm",e),...t})}o(Ke,"DialogDescription");import{cva as $}from"class-variance-authority";import{jsx as S}from"react/jsx-runtime";var ee=$("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 $e({className:e,variant:t,...r}){return S("div",{"data-slot":"alert",role:"alert",className:i(ee({variant:t}),e),...r})}o($e,"Alert");function et({className:e,...t}){return S("div",{"data-slot":"alert-title",className:i("col-start-2 min-h-4 font-medium tracking-tight",e),...t})}o(et,"AlertTitle");function tt({className:e,...t}){return S("div",{"data-slot":"alert-description",className:i("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed inline-block",e),...t})}o(tt,"AlertDescription");export{B as a,de as b,ve as c,Pe as d,Re as e,Se as f,Ne as g,we as h,De as i,ke as j,W as k,Ge as l,Me as m,je as n,He as o,Oe as p,Xe as q,qe as r,Ke as s,$e as t,et as u,tt as v};
2
- //# sourceMappingURL=chunk-ZIN2OWTH.js.map
1
+ import{b as y}from"./chunk-PJN2YJO4.js";import{a as i}from"./chunk-UQCSN47K.js";import{a as o}from"./chunk-P37U34EQ.js";import*as D from"react";import*as v from"@radix-ui/react-checkbox";import{Check as V}from"lucide-react";import{jsx as h}from"react/jsx-runtime";var B=D.forwardRef(({className:e,...t},r)=>h(v.Root,{ref:r,className:i("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(v.Indicator,{className:i("flex items-center justify-center text-current"),children:h(V,{className:"h-4 w-4"})})}));B.displayName=v.Root.displayName;import{useState as G,useRef as F,useEffect as U}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 de({onChange:e,className:t,multiple:r,accept:p,files:u}){let[f,x]=G(u||[]),N=F(null);U(()=>{u&&u.length>0&&x(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);x([...f,...m]),e([...f,...m])}},"handleChange"),_=o(l=>{x(m=>m.filter(T=>T.name!==l.name)),e(f.filter(m=>m.name!==l.name))},"onRemoveFile"),w=L(p);return P("div",{className:i("flex flex-col items-start gap-4",t),children:[d("input",{type:"file",ref:N,onChange:z,className:"hidden","aria-label":"File upload",multiple:r,accept:p}),P(y,{type:"button",onClick:I,className:"gap-2",children:[d(A,{className:"h-4 w-4"}),"Choose File"]}),w&&P("div",{className:"text-sm text-gray-600",children:["Accepted formats:"," ",d("span",{className:"font-medium",children:w})]}),f.length===0&&d("div",{className:"text-sm",children:r?d("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):d("span",{className:"font-medium",children:"No file selected."})}),f.length>0&&f.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(de,"FileUploader");import*as g from"@radix-ui/react-radio-group";import{CircleIcon as M}from"lucide-react";import{jsx as b}from"react/jsx-runtime";function ve({className:e,...t}){return b(g.Root,{"data-slot":"radio-group",className:i("grid gap-3",e),...t})}o(ve,"RadioGroup");function Pe({className:e,...t}){return b(g.Item,{"data-slot":"radio-group-item",className:i("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:b(g.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:b(M,{className:"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}o(Pe,"RadioGroupItem");import*as a from"@radix-ui/react-select";import{CheckIcon as j,ChevronDownIcon as k,ChevronUpIcon as H}from"lucide-react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function Re({...e}){return n(a.Root,{"data-slot":"select",...e})}o(Re,"Select");function Se({...e}){return n(a.Group,{"data-slot":"select-group",...e})}o(Se,"SelectGroup");function Ne({...e}){return n(a.Value,{"data-slot":"select-value",...e})}o(Ne,"SelectValue");function we({className:e,children:t,...r}){return C(a.Trigger,{"data-slot":"select-trigger",className:i("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),...r,children:[t,n(a.Icon,{asChild:!0,className:"absolute right-4",children:n(k,{className:"size-4"})})]})}o(we,"SelectTrigger");function De({className:e,children:t,position:r="popper",...p}){return n(a.Portal,{children:C(a.Content,{"data-slot":"select-content",className:i("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",r==="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:r,...p,children:[n(O,{}),n(a.Viewport,{className:i(r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),n(X,{})]})})}o(De,"SelectContent");function ke({className:e,children:t,...r}){return C(a.Item,{"data-slot":"select-item",className:i("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),...r,children:[n(a.ItemText,{children:t}),n("span",{className:"flex size-3.5 items-center justify-center",children:n(a.ItemIndicator,{children:n(j,{className:"size-4"})})})]})}o(ke,"SelectItem");function O({className:e,...t}){return n(a.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:i("flex cursor-default items-center justify-center py-1",e),...t,children:n(H,{className:"size-4"})})}o(O,"SelectScrollUpButton");function X({className:e,...t}){return n(a.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:i("flex cursor-default items-center justify-center py-1",e),...t,children:n(k,{className:"size-4"})})}o(X,"SelectScrollDownButton");import{Slot as q}from"@radix-ui/react-slot";import{cva as K}from"class-variance-authority";import{jsx as Y}from"react/jsx-runtime";var W=K("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-badge text-badge-foreground rounded-full [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground rounded-full [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white rounded-full [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",outline:"text-foreground rounded-full [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function Ge({className:e,variant:t,asChild:r=!1,...p}){return Y(r?q:"span",{"data-slot":"badge",className:i(W({variant:t}),e),...p})}o(Ge,"Badge");import*as s from"@radix-ui/react-dialog";import{XIcon as J}from"lucide-react";import{jsx as c,jsxs as R}from"react/jsx-runtime";function Me({...e}){return c(s.Root,{"data-slot":"dialog",...e})}o(Me,"Dialog");function je({...e}){return c(s.Trigger,{"data-slot":"dialog-trigger",...e})}o(je,"DialogTrigger");function Q({...e}){return c(s.Portal,{"data-slot":"dialog-portal",...e})}o(Q,"DialogPortal");function Z({className:e,...t}){return c(s.Overlay,{"data-slot":"dialog-overlay",className:i("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(Z,"DialogOverlay");function He({className:e,children:t,...r}){return R(Q,{"data-slot":"dialog-portal",children:[c(Z,{}),R(s.Content,{"data-slot":"dialog-content",className:i("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),...r,children:[t,R(s.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(J,{}),c("span",{className:"sr-only",children:"Close"})]})]})]})}o(He,"DialogContent");function Oe({className:e,...t}){return c("div",{"data-slot":"dialog-header",className:i("flex flex-col gap-2 text-center sm:text-left",e),...t})}o(Oe,"DialogHeader");function Xe({className:e,...t}){return c("div",{"data-slot":"dialog-footer",className:i("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}o(Xe,"DialogFooter");function qe({className:e,...t}){return c(s.Title,{"data-slot":"dialog-title",className:i("text-lg leading-none font-semibold",e),...t})}o(qe,"DialogTitle");function Ke({className:e,...t}){return c(s.Description,{"data-slot":"dialog-description",className:i("text-muted-foreground text-sm",e),...t})}o(Ke,"DialogDescription");import{cva as $}from"class-variance-authority";import{jsx as S}from"react/jsx-runtime";var ee=$("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 $e({className:e,variant:t,...r}){return S("div",{"data-slot":"alert",role:"alert",className:i(ee({variant:t}),e),...r})}o($e,"Alert");function et({className:e,...t}){return S("div",{"data-slot":"alert-title",className:i("col-start-2 min-h-4 font-medium tracking-tight",e),...t})}o(et,"AlertTitle");function tt({className:e,...t}){return S("div",{"data-slot":"alert-description",className:i("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed inline-block",e),...t})}o(tt,"AlertDescription");export{B as a,de as b,ve as c,Pe as d,Re as e,Se as f,Ne as g,we as h,De as i,ke as j,W as k,Ge as l,Me as m,je as n,He as o,Oe as p,Xe as q,qe as r,Ke as s,$e as t,et as u,tt as v};
2
+ //# sourceMappingURL=chunk-LAXQMTDQ.js.map
@@ -1,2 +1,2 @@
1
- import{b as f}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-EYQ4PYUT.js";import{b as p}from"./chunk-2YTBWEC7.js";import{g as C}from"./chunk-66N57DKF.js";import{g as E}from"./chunk-L3Z2G32A.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as u}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:c,shouldResetForm:d,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=f(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&d){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,d,o,a]);let b=n(async i=>{try{let t=await o?.parseFormValues(i);o?.meta?.fields&&(o.meta.fields=E(i,o.fields),o.meta.fields.employer_currency_slug=o.meta.fields.currency);let r=await o?.onSubmit(t);if(await S?.(t),r?.data&&!r.error){let l={data:{...r.data.data,employments:r.data.data.employments?.map(m=>({...m,title:t.estimation_title}))}};await y?.(l)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,l=r.fieldErrors;if(c){let m=o?.meta?.fields,h=p(l,m);c({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return u(C,{...e,children:u("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:u(F,{fields:o?.fields??[]})})})}n(T,"CostCalculatorForm");export{T as a};
2
- //# sourceMappingURL=chunk-MEZ7LYUK.js.map
1
+ import{b as f}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-BB2GHYJY.js";import{b as p}from"./chunk-2YTBWEC7.js";import{g as C}from"./chunk-CR7AIZKA.js";import{g as E}from"./chunk-UQCSN47K.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as u}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:c,shouldResetForm:d,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=f(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&d){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,d,o,a]);let b=n(async i=>{try{let t=await o?.parseFormValues(i);o?.meta?.fields&&(o.meta.fields=E(i,o.fields),o.meta.fields.employer_currency_slug=o.meta.fields.currency);let r=await o?.onSubmit(t);if(await S?.(t),r?.data&&!r.error){let l={data:{...r.data.data,employments:r.data.data.employments?.map(m=>({...m,title:t.estimation_title}))}};await y?.(l)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,l=r.fieldErrors;if(c){let m=o?.meta?.fields,h=p(l,m);c({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return u(C,{...e,children:u("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:u(F,{fields:o?.fields??[]})})})}n(T,"CostCalculatorForm");export{T as a};
2
+ //# sourceMappingURL=chunk-LFQDVSKU.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-L3Z2G32A.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";function c({className:e,direction:o="col",...d}){return a("div",{"data-slot":"card",className:r("RemoteFlows__Card bg-white text-card-foreground rounded-[10px] gap-4 border border-gray-200 px-10 py-14",o==="row"?"flex flex-row":"flex flex-col",e),...d})}t(c,"Card");function s({className:e,...o}){return a("div",{"data-slot":"card-header",className:r("flex flex-col gap-1.5 px-6",e),...o})}t(s,"CardHeader");function i({className:e,...o}){return a("div",{"data-slot":"card-title",className:r("leading-none font-semibold",e),...o})}t(i,"CardTitle");function l({className:e,...o}){return a("div",{"data-slot":"card-description",className:r("text-sm",e),...o})}t(l,"CardDescription");function p({className:e,...o}){return a("div",{"data-slot":"card-content",className:r("px-6",e),...o})}t(p,"CardContent");function f({className:e,...o}){return a("div",{"data-slot":"card-footer",className:r("flex items-center px-6",e),...o})}t(f,"CardFooter");export{c as a,s as b,i as c,l as d,p as e,f};
2
- //# sourceMappingURL=chunk-MXLQEDRJ.js.map
1
+ import{a as r}from"./chunk-UQCSN47K.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";function c({className:e,direction:o="col",...d}){return a("div",{"data-slot":"card",className:r("RemoteFlows__Card bg-white text-card-foreground rounded-[10px] gap-4 border border-gray-200 px-10 py-14",o==="row"?"flex flex-row":"flex flex-col",e),...d})}t(c,"Card");function s({className:e,...o}){return a("div",{"data-slot":"card-header",className:r("flex flex-col gap-1.5 px-6",e),...o})}t(s,"CardHeader");function i({className:e,...o}){return a("div",{"data-slot":"card-title",className:r("leading-none font-semibold",e),...o})}t(i,"CardTitle");function l({className:e,...o}){return a("div",{"data-slot":"card-description",className:r("text-sm",e),...o})}t(l,"CardDescription");function p({className:e,...o}){return a("div",{"data-slot":"card-content",className:r("px-6",e),...o})}t(p,"CardContent");function f({className:e,...o}){return a("div",{"data-slot":"card-footer",className:r("flex items-center px-6",e),...o})}t(f,"CardFooter");export{c as a,s as b,i as c,l as d,p as e,f};
2
+ //# sourceMappingURL=chunk-LHNX27TY.js.map
@@ -1,2 +1,2 @@
1
1
  import{a as t}from"./chunk-P37U34EQ.js";var r={select_country:{index:0,name:"select_country"},basic_information:{index:1,name:"basic_information"},contract_details:{index:2,name:"contract_details"},pricing_plan:{index:3,name:"pricing_plan"},contract_preview:{index:4,name:"contract_preview"},review:{index:5,name:"review"}},a={basic_information:{index:0,name:"basic_information"},contract_details:{index:1,name:"contract_details"},pricing_plan:{index:2,name:"pricing_plan"},contract_preview:{index:3,name:"contract_preview"},review:{index:4,name:"review"}},o=t((e,n)=>{if(e&&n&&e!==n)return`When the contractor will start providing service to your company. ${`This date does not match the date you provided in the Basic Information step - ${e} - and will override it only when both parties have signed the contract.`}`},"calculateProvisionalStartDateDescription"),d=t((e,n)=>({...e,fields:{...e?.fields,...n?{"service_duration.provisional_start_date":{description:n}}:{}}}),"buildContractDetailsJsfModify");export{r as a,a as b,o as c,d};
2
- //# sourceMappingURL=chunk-2Y3SXQ5B.js.map
2
+ //# sourceMappingURL=chunk-LOHRUY4J.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/utils.ts"],"sourcesContent":["import { JSFModify } from '@/src/flows/types';\nimport { Step } from '@/src/flows/useStepState';\n\ntype StepKeys =\n | 'select_country'\n | 'basic_information'\n | 'contract_details'\n | 'contract_preview'\n | 'pricing_plan'\n | 'review';\n\nexport const STEPS: Record<StepKeys, Step<StepKeys>> = {\n select_country: { index: 0, name: 'select_country' },\n basic_information: { index: 1, name: 'basic_information' },\n contract_details: { index: 2, name: 'contract_details' },\n pricing_plan: { index: 3, name: 'pricing_plan' },\n contract_preview: { index: 4, name: 'contract_preview' },\n review: { index: 5, name: 'review' },\n} as const;\n\nexport const STEPS_WITHOUT_SELECT_COUNTRY: Record<\n Exclude<StepKeys, 'select_country'>,\n Step<Exclude<StepKeys, 'select_country'>>\n> = {\n basic_information: { index: 0, name: 'basic_information' },\n contract_details: { index: 1, name: 'contract_details' },\n pricing_plan: { index: 2, name: 'pricing_plan' },\n contract_preview: { index: 3, name: 'contract_preview' },\n review: { index: 4, name: 'review' },\n} as const;\n\n/**\n * Calculates the description for the provisional start date field\n * based on whether the dates match between basic information and contract details steps\n */\nexport const calculateProvisionalStartDateDescription = (\n employmentProvisionalStartDate: string | undefined,\n fieldProvisionalStartDate: string | undefined,\n): string | undefined => {\n const datesNotMatching =\n employmentProvisionalStartDate &&\n fieldProvisionalStartDate &&\n employmentProvisionalStartDate !== fieldProvisionalStartDate;\n\n if (datesNotMatching) {\n const datesDontMatchWarning = `This date does not match the date you provided in the Basic Information step - ${\n employmentProvisionalStartDate\n } - and will override it only when both parties have signed the contract.`;\n return `When the contractor will start providing service to your company. ${datesDontMatchWarning}`;\n }\n return undefined;\n};\n\n/**\n * Merges internal jsfModify modifications with user-provided options for contract_details step\n * This abstracts the logic of applying internal field modifications (like dynamic descriptions)\n * while preserving user customizations\n */\nexport const buildContractDetailsJsfModify = (\n userJsfModify: JSFModify | undefined,\n provisionalStartDateDescription: string | undefined,\n): JSFModify => {\n return {\n ...userJsfModify,\n fields: {\n ...userJsfModify?.fields,\n ...(provisionalStartDateDescription\n ? {\n 'service_duration.provisional_start_date': {\n description: provisionalStartDateDescription,\n },\n }\n : {}),\n },\n };\n};\n"],"mappings":"wCAWO,IAAMA,EAA0C,CACrD,eAAgB,CAAE,MAAO,EAAG,KAAM,gBAAiB,EACnD,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,EACzD,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,aAAc,CAAE,MAAO,EAAG,KAAM,cAAe,EAC/C,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,OAAQ,CAAE,MAAO,EAAG,KAAM,QAAS,CACrC,EAEaC,EAGT,CACF,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,EACzD,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,aAAc,CAAE,MAAO,EAAG,KAAM,cAAe,EAC/C,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,OAAQ,CAAE,MAAO,EAAG,KAAM,QAAS,CACrC,EAMaC,EAA2CC,EAAA,CACtDC,EACAC,IACuB,CAMvB,GAJED,GACAC,GACAD,IAAmCC,EAMnC,MAAO,qEAHuB,kFAC5BD,CACF,0EACiG,EAGrG,EAhBwD,4CAuB3CE,EAAgCH,EAAA,CAC3CI,EACAC,KAEO,CACL,GAAGD,EACH,OAAQ,CACN,GAAGA,GAAe,OAClB,GAAIC,EACA,CACE,0CAA2C,CACzC,YAAaA,CACf,CACF,EACA,CAAC,CACP,CACF,GAhB2C","names":["STEPS","STEPS_WITHOUT_SELECT_COUNTRY","calculateProvisionalStartDateDescription","__name","employmentProvisionalStartDate","fieldProvisionalStartDate","buildContractDetailsJsfModify","userJsfModify","provisionalStartDateDescription"]}
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-LG2LVO4C.js";import{a}from"./chunk-Y2NSR2N6.js";import{a as c}from"./chunk-DV6PCBAX.js";import{a as e}from"./chunk-F3KEIVSE.js";import{a as m}from"./chunk-KKGRYDZA.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
2
- //# sourceMappingURL=chunk-3Z6AFLXW.js.map
1
+ import{a as r}from"./chunk-6E467YF3.js";import{a}from"./chunk-OKMERBJL.js";import{a as c}from"./chunk-PNRHCOPF.js";import{a as e}from"./chunk-PC5JG4TT.js";import{a as m}from"./chunk-K3XVYHGV.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
2
+ //# sourceMappingURL=chunk-LSNMODBH.js.map
@@ -0,0 +1,2 @@
1
+ import{b as t}from"./chunk-PJN2YJO4.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";var a=n(p=>{let{"data-type":e,...o}=p;return e==="inline"?r(t,{variant:"link",...o}):r(t,{...o})},"ButtonDefault");export{a};
2
+ //# sourceMappingURL=chunk-NFWNYW2E.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/fields/default/ButtonDefault.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport { ButtonComponentProps } from '@/src/types/remoteFlows';\n\nexport const ButtonDefault = (props: ButtonComponentProps) => {\n const { 'data-type': dataType, ...buttonProps } = props;\n\n if (dataType === 'inline') {\n return <Button variant='link' {...buttonProps} />;\n }\n\n return <Button {...buttonProps} />;\n};\n"],"mappings":"gFAOW,cAAAA,MAAA,oBAJJ,IAAMC,EAAgBC,EAACC,GAAgC,CAC5D,GAAM,CAAE,YAAaC,EAAU,GAAGC,CAAY,EAAIF,EAElD,OAAIC,IAAa,SACRJ,EAACM,EAAA,CAAO,QAAQ,OAAQ,GAAGD,EAAa,EAG1CL,EAACM,EAAA,CAAQ,GAAGD,EAAa,CAClC,EAR6B","names":["jsx","ButtonDefault","__name","props","dataType","buttonProps","Button"]}
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-ZYRGEEPU.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
- //# sourceMappingURL=chunk-A65WMO6K.js.map
1
+ import{a}from"./chunk-SRR73QPD.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
+ //# sourceMappingURL=chunk-NP3HE6QX.js.map
@@ -1,2 +1,2 @@
1
- import{h as f}from"./chunk-W3YE53JN.js";import{a as b,b as D,c as C,d as h,e as Z,f as y}from"./chunk-UOOUV52J.js";import{b as g,d as w}from"./chunk-KQPDXXG3.js";import{a as p,f as k}from"./chunk-L3Z2G32A.js";import{a as e}from"./chunk-P37U34EQ.js";var H={disclaimerCostCalculator:4668194326797,employeeOnboardingTimeline:4411262104589,extraPayments:4466822781709,internationalPricing:4410698586893,remoteFxRate:33271144977421,terminationEmployeeCommunication:4411585179661,terminationNoticePeriods:5831900985613,involuntaryOffboardingServiceCharge:4406932229133,reconciliationInvoice:17604014808589},m=e(r=>`https://support.remote.com/hc/en-us/articles/${r}`,"buildZendeskURL");import{useQuery as L}from"@tanstack/react-query";var v=e((r,n)=>{let{client:i}=w();return L({queryKey:["zendesk-article",r],queryFn:e(async()=>{let o=await f({client:i,path:{id:Number(r)}});if(o.error)throw new Error(o.error.message||"Failed to fetch article");return o},"queryFn"),select:e(o=>{let t=o.data?.data.help_center_article;return t&&{...t,body:k(t.body||"")}},"select"),retry:!1,...n})},"useZendeskArticle");import{jsx as a,jsxs as c}from"react/jsx-runtime";function x({open:r,onClose:n,data:i,isLoading:o,error:t,zendeskURL:d,Trigger:s}){return c(b,{open:r,onOpenChange:l=>!l&&n(),direction:"right",children:[a(D,{asChild:!0,children:s}),a(C,{className:"h-full w-[540px] mt-0 ml-auto RemoteFlows_ZendeskDrawer",children:c("div",{className:"h-full flex flex-col",children:[c(h,{children:[a(Z,{children:i?.title}),c(y,{children:["For more details see our"," ",a("a",{href:d,target:"_blank",rel:"noopener noreferrer",children:"help article"})," "]})]}),o&&a("div",{children:"Loading..."}),t&&a("div",{className:"text-sm p-4 text-red-500",children:"Error loading article"}),a("div",{className:"flex-1 overflow-y-auto p-4 RemoteFlows_ZendeskDrawer__Content",dangerouslySetInnerHTML:{__html:i?.body||""}})]})})]})}e(x,"ZendeskDrawerDefault");import{jsx as P}from"react/jsx-runtime";var R=e(({Trigger:r,zendeskId:n,open:i,onClose:o})=>{let{components:t}=g(),d=m(n),s=e(()=>{o?.()},"handleClose"),{data:l,isLoading:_,error:N}=v(n,{enabled:i}),F=t?.zendeskDrawer||x;return P(F,{open:i,onClose:s,data:l,isLoading:_,error:N,zendeskURL:d,Trigger:r})},"ZendeskDrawer");import{useState as z}from"react";import{jsx as u}from"react/jsx-runtime";var T="RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block text-xs bg-transparent border-none cursor-pointer p-0";function ne({zendeskId:r,className:n,onClick:i,children:o,external:t=!1}){let[d,s]=z(!1),l=e(()=>{t||s(!0),i?.(r)},"handleClick");return t?u("a",{href:m(r),target:"_blank",rel:"noopener noreferrer",onClick:l,className:p(T,n),children:o}):u(R,{zendeskId:r,open:d,onClose:()=>s(!1),Trigger:u("button",{onClick:l,className:p(T,n),children:o})})}e(ne,"ZendeskTriggerButton");export{H as a,ne as b};
2
- //# sourceMappingURL=chunk-LKMPZJIW.js.map
1
+ import{h as f}from"./chunk-W3YE53JN.js";import{a as b,b as D,c as C,d as h,e as Z,f as y}from"./chunk-GGPEKIIH.js";import{b as g,d as w}from"./chunk-KQPDXXG3.js";import{a as p,f as k}from"./chunk-UQCSN47K.js";import{a as e}from"./chunk-P37U34EQ.js";var H={disclaimerCostCalculator:4668194326797,employeeOnboardingTimeline:4411262104589,extraPayments:4466822781709,internationalPricing:4410698586893,remoteFxRate:33271144977421,terminationEmployeeCommunication:4411585179661,terminationNoticePeriods:5831900985613,involuntaryOffboardingServiceCharge:4406932229133,reconciliationInvoice:17604014808589},m=e(r=>`https://support.remote.com/hc/en-us/articles/${r}`,"buildZendeskURL");import{useQuery as L}from"@tanstack/react-query";var v=e((r,n)=>{let{client:i}=w();return L({queryKey:["zendesk-article",r],queryFn:e(async()=>{let o=await f({client:i,path:{id:Number(r)}});if(o.error)throw new Error(o.error.message||"Failed to fetch article");return o},"queryFn"),select:e(o=>{let t=o.data?.data.help_center_article;return t&&{...t,body:k(t.body||"")}},"select"),retry:!1,...n})},"useZendeskArticle");import{jsx as a,jsxs as c}from"react/jsx-runtime";function x({open:r,onClose:n,data:i,isLoading:o,error:t,zendeskURL:d,Trigger:s}){return c(b,{open:r,onOpenChange:l=>!l&&n(),direction:"right",children:[a(D,{asChild:!0,children:s}),a(C,{className:"h-full w-[540px] mt-0 ml-auto RemoteFlows_ZendeskDrawer",children:c("div",{className:"h-full flex flex-col",children:[c(h,{children:[a(Z,{children:i?.title}),c(y,{children:["For more details see our"," ",a("a",{href:d,target:"_blank",rel:"noopener noreferrer",children:"help article"})," "]})]}),o&&a("div",{children:"Loading..."}),t&&a("div",{className:"text-sm p-4 text-red-500",children:"Error loading article"}),a("div",{className:"flex-1 overflow-y-auto p-4 RemoteFlows_ZendeskDrawer__Content",dangerouslySetInnerHTML:{__html:i?.body||""}})]})})]})}e(x,"ZendeskDrawerDefault");import{jsx as P}from"react/jsx-runtime";var R=e(({Trigger:r,zendeskId:n,open:i,onClose:o})=>{let{components:t}=g(),d=m(n),s=e(()=>{o?.()},"handleClose"),{data:l,isLoading:_,error:N}=v(n,{enabled:i}),F=t?.zendeskDrawer||x;return P(F,{open:i,onClose:s,data:l,isLoading:_,error:N,zendeskURL:d,Trigger:r})},"ZendeskDrawer");import{useState as z}from"react";import{jsx as u}from"react/jsx-runtime";var T="RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block text-xs bg-transparent border-none cursor-pointer p-0";function ne({zendeskId:r,className:n,onClick:i,children:o,external:t=!1}){let[d,s]=z(!1),l=e(()=>{t||s(!0),i?.(r)},"handleClick");return t?u("a",{href:m(r),target:"_blank",rel:"noopener noreferrer",onClick:l,className:p(T,n),children:o}):u(R,{zendeskId:r,open:d,onClose:()=>s(!1),Trigger:u("button",{onClick:l,className:p(T,n),children:o})})}e(ne,"ZendeskTriggerButton");export{H as a,ne as b};
2
+ //# sourceMappingURL=chunk-NY7LII5R.js.map
@@ -0,0 +1,2 @@
1
+ import{a as m}from"./chunk-NFWNYW2E.js";import{b as n}from"./chunk-KQPDXXG3.js";import{b as r}from"./chunk-TVZAFTPT.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function C({children:e,...t}){let{formId:i,contractAmendment:u}=r(),{components:s}=n(),d=s?.button||m;return c(d,{...t,form:i,disabled:t.disabled||u.isSubmitting,children:e})}o(C,"ContractAmendmentSubmit");export{C as a};
2
+ //# sourceMappingURL=chunk-OKMERBJL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentSubmit.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useContractAmendmentContext } from './context';\nimport { useFormFields } from '@/src/context';\nimport { ButtonDefault } from '@/src/components/form/fields/default/ButtonDefault';\n\nexport function ContractAmendmentSubmit({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> &\n Record<string, unknown>) {\n const { formId, contractAmendment } = useContractAmendmentContext();\n const { components } = useFormFields();\n\n const CustomButton = components?.button || ButtonDefault;\n return (\n <CustomButton\n {...props}\n form={formId}\n disabled={props.disabled || contractAmendment.isSubmitting}\n >\n {children}\n </CustomButton>\n );\n}\n"],"mappings":"gKAeI,cAAAA,MAAA,oBAVG,SAASC,EAAwB,CACtC,SAAAC,EACA,GAAGC,CACL,EAC2B,CACzB,GAAM,CAAE,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAA4B,EAC5D,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAeF,GAAY,QAAUG,EAC3C,OACEV,EAACS,EAAA,CACE,GAAGN,EACJ,KAAMC,EACN,SAAUD,EAAM,UAAYE,EAAkB,aAE7C,SAAAH,EACH,CAEJ,CAlBgBS,EAAAV,EAAA","names":["jsx","ContractAmendmentSubmit","children","props","formId","contractAmendment","useContractAmendmentContext","components","useFormFields","CustomButton","ButtonDefault","__name"]}
@@ -0,0 +1,2 @@
1
+ import{a as Y}from"./chunk-2MX3WPCK.js";import{a as G}from"./chunk-VFRHMNLJ.js";import{a as z,b as Q,c as W,f as X}from"./chunk-HIQNB5UN.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as K}from"./chunk-LNV36S6D.js";import{c as Z}from"./chunk-CM2YPABC.js";import{a as ee}from"./chunk-2YTBWEC7.js";import{a as I}from"./chunk-P5QKSFOE.js";import{d as M}from"./chunk-HRG5MSVG.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>I(G.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=z({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=Q(),me=k||w?.value,{data:P,isLoading:de}=X(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=W(),{mutateAsync:fe}=ee(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Y,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(Z,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=K(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
2
+ //# sourceMappingURL=chunk-P5PRB2JC.js.map