@remoteoss/remote-flows 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/README.md +1 -0
  2. package/dist/{chunk-Q2JVGEYM.js → chunk-2FDEMDWJ.js} +2 -2
  3. package/dist/{chunk-AL2HSQPC.js → chunk-3CRC4NDD.js} +2 -2
  4. package/dist/{chunk-BB2GHYJY.js → chunk-4FW2VTO4.js} +2 -2
  5. package/dist/chunk-5BRMLRS7.js +2 -0
  6. package/dist/chunk-5BRMLRS7.js.map +1 -0
  7. package/dist/{chunk-LFQDVSKU.js → chunk-6AQLDTMK.js} +2 -2
  8. package/dist/{chunk-CWAUKF77.js → chunk-7FMFSOJ3.js} +2 -2
  9. package/dist/{chunk-3NMCXHSQ.js → chunk-7JDWTTYE.js} +2 -2
  10. package/dist/{chunk-LSNMODBH.js → chunk-7XKEJ5Y6.js} +2 -2
  11. package/dist/{chunk-B2OOX56F.js → chunk-A5NDO6CQ.js} +2 -2
  12. package/dist/{chunk-XCA33UL6.js → chunk-AJ5SXKFO.js} +2 -2
  13. package/dist/{chunk-HIQNB5UN.js → chunk-ARQ2PTEA.js} +2 -2
  14. package/dist/{chunk-3BOFG6MK.js → chunk-BNBEIHLD.js} +2 -2
  15. package/dist/{chunk-P5PRB2JC.js → chunk-CTAWDJ2D.js} +2 -2
  16. package/dist/{chunk-AF3YOXUE.js → chunk-D6Y7GLBT.js} +2 -2
  17. package/dist/{chunk-NY7LII5R.js → chunk-EGSUF7OD.js} +2 -2
  18. package/dist/{chunk-ZZPYYZNT.js → chunk-FEIYAZ7Q.js} +2 -2
  19. package/dist/{chunk-CX735AP4.js → chunk-G2X5F5YR.js} +2 -2
  20. package/dist/{chunk-AFGXZINW.js → chunk-HLR4BEDV.js} +2 -2
  21. package/dist/{chunk-XXXQA4SY.js → chunk-HUJ3AUIS.js} +2 -2
  22. package/dist/{chunk-GAF5TFZJ.js → chunk-K62H3A5T.js} +2 -2
  23. package/dist/{chunk-SQVJRTTA.js → chunk-KRDAGWDH.js} +2 -2
  24. package/dist/{chunk-26Y25KF6.js → chunk-LGUGZN57.js} +2 -2
  25. package/dist/{chunk-PS6EXVKH.js → chunk-LJ6FHPXW.js} +2 -2
  26. package/dist/{chunk-CATDB2YM.js → chunk-MD2QFLXC.js} +2 -2
  27. package/dist/chunk-N3X274GT.js +2 -0
  28. package/dist/{chunk-W4KHMUDZ.js.map → chunk-N3X274GT.js.map} +1 -1
  29. package/dist/{chunk-CM2YPABC.js → chunk-NHREKNSV.js} +2 -2
  30. package/dist/{chunk-SRR73QPD.js → chunk-NPKIEWF4.js} +2 -2
  31. package/dist/chunk-OFWEEY3Y.js +2 -0
  32. package/dist/chunk-OFWEEY3Y.js.map +1 -0
  33. package/dist/{chunk-AD53V4MM.js → chunk-OXOK5PM3.js} +2 -2
  34. package/dist/{chunk-NP3HE6QX.js → chunk-PSHPB65F.js} +2 -2
  35. package/dist/{chunk-5S54GMUJ.js → chunk-PU3WPIEK.js} +2 -2
  36. package/dist/{chunk-FQQKCROC.js → chunk-QDSRG735.js} +2 -2
  37. package/dist/{chunk-PNRHCOPF.js → chunk-QKKAJK3A.js} +2 -2
  38. package/dist/{chunk-GFVGV76O.js → chunk-RTQ4GKPG.js} +2 -2
  39. package/dist/{chunk-ER7DFMME.js → chunk-SKQWZNKT.js} +2 -2
  40. package/dist/{chunk-Z3AKMQ4S.js → chunk-T5OFLN36.js} +2 -2
  41. package/dist/{chunk-W3YE53JN.js → chunk-T6Q7IALZ.js} +2 -2
  42. package/dist/chunk-T6Q7IALZ.js.map +1 -0
  43. package/dist/{chunk-ZUNMNGRC.js → chunk-TMBD35L4.js} +2 -2
  44. package/dist/{chunk-4GXONSSK.js → chunk-UD4GEI4B.js} +2 -2
  45. package/dist/{chunk-KDI2AVBF.js → chunk-V334GIML.js} +2 -2
  46. package/dist/{chunk-T6KVMOX7.js → chunk-VCEQ5E2O.js} +2 -2
  47. package/dist/{chunk-JS3H25UQ.js → chunk-VYHITQHG.js} +2 -2
  48. package/dist/{chunk-4G2UMXRE.js → chunk-W3OQNZW6.js} +2 -2
  49. package/dist/{chunk-6E467YF3.js → chunk-WLN6G3TE.js} +2 -2
  50. package/dist/{chunk-447M3MFN.js → chunk-WO33FKK4.js} +2 -2
  51. package/dist/{chunk-ADOJOLLL.js → chunk-X6325UGJ.js} +2 -2
  52. package/dist/{chunk-2MX3WPCK.js → chunk-YXVNCPUI.js} +2 -2
  53. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  54. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  55. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  56. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  57. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  58. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  59. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  60. package/dist/flows/ContractAmendment/hooks.js +1 -1
  61. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  62. package/dist/flows/ContractAmendment/index.js +1 -1
  63. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  64. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  65. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  66. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  67. package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
  68. package/dist/flows/ContractorOnboarding/api.js +1 -1
  69. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  70. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  71. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  72. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  73. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  74. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  75. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  76. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  77. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  78. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  79. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  80. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  81. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  82. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  83. package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
  84. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  85. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  86. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  87. package/dist/flows/ContractorOnboarding/index.js +1 -1
  88. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  89. package/dist/flows/ContractorOnboarding/utils.d.ts +2 -2
  90. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  91. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  92. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  93. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  94. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  95. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  96. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  97. package/dist/flows/CostCalculator/api.d.ts +2 -2
  98. package/dist/flows/CostCalculator/api.js +1 -1
  99. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  100. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  101. package/dist/flows/CostCalculator/context.d.ts +3 -3
  102. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  103. package/dist/flows/CostCalculator/hooks.js +1 -1
  104. package/dist/flows/CostCalculator/index.d.ts +3 -3
  105. package/dist/flows/CostCalculator/index.js +1 -1
  106. package/dist/flows/CostCalculator/types.d.ts +2 -2
  107. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  108. package/dist/flows/CostCalculator/utils.js +1 -1
  109. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  110. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  111. package/dist/flows/Onboarding/api.d.ts +4 -4
  112. package/dist/flows/Onboarding/api.js +1 -1
  113. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  114. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  115. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  116. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  117. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  118. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  119. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  120. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  121. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  122. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  123. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  124. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  125. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  126. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  127. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  128. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  129. package/dist/flows/Onboarding/context.d.ts +6 -6
  130. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  131. package/dist/flows/Onboarding/hooks.js +1 -1
  132. package/dist/flows/Onboarding/index.d.ts +4 -4
  133. package/dist/flows/Onboarding/index.js +1 -1
  134. package/dist/flows/Onboarding/types.d.ts +4 -4
  135. package/dist/flows/Onboarding/utils.d.ts +4 -4
  136. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  137. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  138. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  139. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  140. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  141. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  142. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  143. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  144. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  145. package/dist/flows/Termination/TerminationFlow.js +1 -1
  146. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  147. package/dist/flows/Termination/TerminationForm.js +1 -1
  148. package/dist/flows/Termination/api.d.ts +5 -5
  149. package/dist/flows/Termination/api.js +1 -1
  150. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  151. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  152. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  153. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  154. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  155. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  156. package/dist/flows/Termination/context.d.ts +4 -4
  157. package/dist/flows/Termination/hooks.d.ts +4 -4
  158. package/dist/flows/Termination/hooks.js +1 -1
  159. package/dist/flows/Termination/index.d.ts +6 -6
  160. package/dist/flows/Termination/index.js +1 -1
  161. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  162. package/dist/flows/Termination/types.d.ts +4 -4
  163. package/dist/flows/Termination/utils.d.ts +4 -4
  164. package/dist/flows/types.d.ts +2 -2
  165. package/dist/flows/useStepState.d.ts +1 -1
  166. package/dist/flows/useStepState.js +1 -1
  167. package/dist/index.d.ts +10 -10
  168. package/dist/index.js +3 -1
  169. package/dist/index.js.map +1 -1
  170. package/dist/internals.d.ts +4 -4
  171. package/dist/{mutations-Dhsqyt9R.d.ts → mutations-DodnkAWj.d.ts} +1 -1
  172. package/dist/{remoteFlows-8lgzhRZb.d.ts → remoteFlows-xvD84Bor.d.ts} +8 -8
  173. package/dist/{types-CR6ZHxiM.d.ts → types-B5wlUr-S.d.ts} +4 -4
  174. package/dist/{types-CgFQV0b1.d.ts → types-BukQasy8.d.ts} +4 -4
  175. package/dist/{types-BH1usu8z.d.ts → types-Ckh2r3F3.d.ts} +1 -1
  176. package/dist/{types-7X9Do4Qx.d.ts → types-Ct_LPoSR.d.ts} +3 -3
  177. package/dist/{types.gen-q3-YX6jr.d.ts → types.gen-D2nbxMA0.d.ts} +1 -1
  178. package/dist/{utils-CGX-jPIw.d.ts → utils-arqMz3zD.d.ts} +1 -1
  179. package/package.json +3 -3
  180. package/dist/chunk-FOPSJRQG.js +0 -2
  181. package/dist/chunk-FOPSJRQG.js.map +0 -1
  182. package/dist/chunk-PJBAQZ6G.js +0 -2
  183. package/dist/chunk-PJBAQZ6G.js.map +0 -1
  184. package/dist/chunk-W3YE53JN.js.map +0 -1
  185. package/dist/chunk-W4KHMUDZ.js +0 -2
  186. /package/dist/{chunk-Q2JVGEYM.js.map → chunk-2FDEMDWJ.js.map} +0 -0
  187. /package/dist/{chunk-AL2HSQPC.js.map → chunk-3CRC4NDD.js.map} +0 -0
  188. /package/dist/{chunk-BB2GHYJY.js.map → chunk-4FW2VTO4.js.map} +0 -0
  189. /package/dist/{chunk-LFQDVSKU.js.map → chunk-6AQLDTMK.js.map} +0 -0
  190. /package/dist/{chunk-CWAUKF77.js.map → chunk-7FMFSOJ3.js.map} +0 -0
  191. /package/dist/{chunk-3NMCXHSQ.js.map → chunk-7JDWTTYE.js.map} +0 -0
  192. /package/dist/{chunk-LSNMODBH.js.map → chunk-7XKEJ5Y6.js.map} +0 -0
  193. /package/dist/{chunk-B2OOX56F.js.map → chunk-A5NDO6CQ.js.map} +0 -0
  194. /package/dist/{chunk-XCA33UL6.js.map → chunk-AJ5SXKFO.js.map} +0 -0
  195. /package/dist/{chunk-HIQNB5UN.js.map → chunk-ARQ2PTEA.js.map} +0 -0
  196. /package/dist/{chunk-3BOFG6MK.js.map → chunk-BNBEIHLD.js.map} +0 -0
  197. /package/dist/{chunk-P5PRB2JC.js.map → chunk-CTAWDJ2D.js.map} +0 -0
  198. /package/dist/{chunk-AF3YOXUE.js.map → chunk-D6Y7GLBT.js.map} +0 -0
  199. /package/dist/{chunk-NY7LII5R.js.map → chunk-EGSUF7OD.js.map} +0 -0
  200. /package/dist/{chunk-ZZPYYZNT.js.map → chunk-FEIYAZ7Q.js.map} +0 -0
  201. /package/dist/{chunk-CX735AP4.js.map → chunk-G2X5F5YR.js.map} +0 -0
  202. /package/dist/{chunk-AFGXZINW.js.map → chunk-HLR4BEDV.js.map} +0 -0
  203. /package/dist/{chunk-XXXQA4SY.js.map → chunk-HUJ3AUIS.js.map} +0 -0
  204. /package/dist/{chunk-GAF5TFZJ.js.map → chunk-K62H3A5T.js.map} +0 -0
  205. /package/dist/{chunk-SQVJRTTA.js.map → chunk-KRDAGWDH.js.map} +0 -0
  206. /package/dist/{chunk-26Y25KF6.js.map → chunk-LGUGZN57.js.map} +0 -0
  207. /package/dist/{chunk-PS6EXVKH.js.map → chunk-LJ6FHPXW.js.map} +0 -0
  208. /package/dist/{chunk-CATDB2YM.js.map → chunk-MD2QFLXC.js.map} +0 -0
  209. /package/dist/{chunk-CM2YPABC.js.map → chunk-NHREKNSV.js.map} +0 -0
  210. /package/dist/{chunk-SRR73QPD.js.map → chunk-NPKIEWF4.js.map} +0 -0
  211. /package/dist/{chunk-AD53V4MM.js.map → chunk-OXOK5PM3.js.map} +0 -0
  212. /package/dist/{chunk-NP3HE6QX.js.map → chunk-PSHPB65F.js.map} +0 -0
  213. /package/dist/{chunk-5S54GMUJ.js.map → chunk-PU3WPIEK.js.map} +0 -0
  214. /package/dist/{chunk-FQQKCROC.js.map → chunk-QDSRG735.js.map} +0 -0
  215. /package/dist/{chunk-PNRHCOPF.js.map → chunk-QKKAJK3A.js.map} +0 -0
  216. /package/dist/{chunk-GFVGV76O.js.map → chunk-RTQ4GKPG.js.map} +0 -0
  217. /package/dist/{chunk-ER7DFMME.js.map → chunk-SKQWZNKT.js.map} +0 -0
  218. /package/dist/{chunk-Z3AKMQ4S.js.map → chunk-T5OFLN36.js.map} +0 -0
  219. /package/dist/{chunk-ZUNMNGRC.js.map → chunk-TMBD35L4.js.map} +0 -0
  220. /package/dist/{chunk-4GXONSSK.js.map → chunk-UD4GEI4B.js.map} +0 -0
  221. /package/dist/{chunk-KDI2AVBF.js.map → chunk-V334GIML.js.map} +0 -0
  222. /package/dist/{chunk-T6KVMOX7.js.map → chunk-VCEQ5E2O.js.map} +0 -0
  223. /package/dist/{chunk-JS3H25UQ.js.map → chunk-VYHITQHG.js.map} +0 -0
  224. /package/dist/{chunk-4G2UMXRE.js.map → chunk-W3OQNZW6.js.map} +0 -0
  225. /package/dist/{chunk-6E467YF3.js.map → chunk-WLN6G3TE.js.map} +0 -0
  226. /package/dist/{chunk-447M3MFN.js.map → chunk-WO33FKK4.js.map} +0 -0
  227. /package/dist/{chunk-ADOJOLLL.js.map → chunk-X6325UGJ.js.map} +0 -0
  228. /package/dist/{chunk-2MX3WPCK.js.map → chunk-YXVNCPUI.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/api.ts"],"sourcesContent":["import { useMutation, useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport { Client } from '@/src/client/client';\nimport {\n ConvertCurrencyParams,\n CreateContractEligibilityParams,\n EmploymentCreateParams,\n EmploymentFullParams,\n getIndexBenefitOffer,\n getShowCompany,\n getShowEmployment,\n getShowFormCountry,\n getShowSchema,\n getSupportedCountry,\n patchUpdateEmployment2,\n postConvertRawCurrencyConverter,\n postConvertWithSpreadCurrencyConverter,\n postCreateContractEligibility,\n postCreateEmployment2,\n postCreateRiskReserve,\n postInviteEmploymentInvitation,\n PostInviteEmploymentInvitationData,\n putUpdateBenefitOffer,\n UnifiedEmploymentUpsertBenefitOffersRequest,\n} from '@/src/client';\n\nimport { useClient } from '@/src/context';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport {\n JSONSchemaFormResultWithFieldsets,\n JSONSchemaFormType,\n FlowOptions,\n} from '@/src/flows/types';\nimport { getContractDetailsSchemaVersion } from '@/src/flows/Onboarding/utils';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\n\nexport const useEmployment = (employmentId: string | undefined) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n enabled: !!employmentId,\n select: ({ data }) => {\n return data?.data.employment;\n },\n queryFn: async () => {\n const response = await getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n });\n};\n\nexport const useCompany = (companyId: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['company', companyId],\n retry: false,\n enabled: !!companyId,\n queryFn: async () => {\n const response = await getShowCompany({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n select: ({ data }) => {\n return data.data.company;\n },\n });\n};\n\nexport const useBenefitOffers = (employmentId: string | undefined) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n return getIndexBenefitOffer({\n client: client as Client,\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers data');\n }\n\n return response;\n });\n },\n select: ({ data }) =>\n data?.data?.reduce(\n (acc, item) => {\n return {\n ...acc,\n [item.benefit_group.slug]: {\n value: item.benefit_tier?.slug ?? 'no',\n ...(item.benefit_group?.filter?.slug\n ? { filter: item.benefit_group?.filter?.slug }\n : {}),\n },\n };\n },\n {} as Record<string, { value: string }>,\n ),\n });\n};\n/**\n * Use this hook to invite an employee to the onboarding flow\n * @returns\n */\nexport const useEmploymentInvite = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: PostInviteEmploymentInvitationData['path']) => {\n return postInviteEmploymentInvitation({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: payload,\n });\n },\n });\n};\n\nexport const useCreateReserveInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: { employment_slug: string }) => {\n return postCreateRiskReserve({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Use this hook to get the JSON schema form for the onboarding flow\n * @param param0\n * @returns\n */\nexport const useJSONSchemaForm = ({\n countryCode,\n form,\n fieldValues,\n options,\n query = {},\n jsonSchemaVersion,\n}: {\n countryCode: string;\n form: JSONSchemaFormType;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n jsonSchemaVersion?: number;\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n const jsonSchemaQueryParam = jsonSchemaVersion\n ? {\n json_schema_version: jsonSchemaVersion,\n }\n : {};\n return useQuery({\n queryKey: ['onboarding-json-schema-form', countryCode, form],\n retry: false,\n queryFn: async () => {\n const response = await getShowFormCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n country_code: countryCode,\n form: form,\n },\n query: {\n skip_benefits: true,\n ...query,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch onboarding schema');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nexport const useBenefitOffersSchema = (\n employmentId: string,\n fieldValues: FieldValues,\n options: OnboardingFlowProps['options'],\n) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers-schema', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n const response = await getShowSchema({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers schema');\n }\n\n return response;\n },\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, {\n jsfModify: options?.jsfModify?.benefits,\n });\n },\n });\n};\n\n/**\n * Use this hook to create an employment\n * @returns\n */\nexport const useCreateEmployment = () => {\n const { client } = useClient();\n // TODO: setting 1 as basic_information only supports v1 for now in the API\n const jsonSchemaQueryParam = {\n json_schema_version: 1,\n };\n return useMutation({\n mutationFn: (payload: EmploymentCreateParams) => {\n return postCreateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmployment = (\n countryCode: string,\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParams = {\n // TODO: setting 1 as basic_information only supports v1 for now in the API\n employment_basic_information_json_schema_version: 1,\n contract_details_json_schema_version:\n getContractDetailsSchemaVersion(options, countryCode) || 1,\n };\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentFullParams & { employmentId: string }) => {\n return patchUpdateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n skip_benefits: true,\n ...jsonSchemaQueryParams,\n },\n });\n },\n });\n};\n\nexport const useUpdateBenefitsOffers = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: UnifiedEmploymentUpsertBenefitOffersRequest & {\n employmentId: string;\n }) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n return putUpdateBenefitOffer({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nconst useCountries = (queryOptions?: { enabled?: boolean }) => {\n const { client } = useClient();\n return useQuery({\n ...queryOptions,\n queryKey: ['countries'],\n retry: false,\n queryFn: async () => {\n const response = await getSupportedCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch supported countries');\n }\n\n return response;\n },\n select: ({ data }) => {\n return (\n data?.data\n ?.filter((country) => country.eor_onboarding)\n .map((country) => {\n return {\n label: country.name,\n value: country.code,\n };\n }) || []\n );\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { data: countries, isLoading } = useCountries(options?.queryOptions);\n\n const selectCountryForm = createHeadlessForm(\n selectCountryStepSchema.data.schema,\n {},\n options,\n );\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n };\n};\n\nexport const useConvertCurrency = ({\n type = 'spread',\n}: {\n type?: 'spread' | 'no_spread';\n}) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: ConvertCurrencyParams) => {\n const apiFn =\n type === 'no_spread'\n ? postConvertRawCurrencyConverter\n : postConvertWithSpreadCurrencyConverter;\n return apiFn({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useUpsertContractEligibility = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: { employmentId: string } & CreateContractEligibilityParams) => {\n return postCreateContractEligibility({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: payload,\n });\n },\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useEmployment","__name","employmentId","client","useClient","useQuery","data","response","getShowEmployment","useCompany","companyId","getShowCompany","useBenefitOffers","getIndexBenefitOffer","acc","item","useEmploymentInvite","useMutation","payload","postInviteEmploymentInvitation","useCreateReserveInvoice","postCreateRiskReserve","useJSONSchemaForm","countryCode","form","fieldValues","options","query","jsonSchemaVersion","jsonSchemaQueryParam","getShowFormCountry","jsfSchema","createHeadlessForm","useBenefitOffersSchema","getShowSchema","useCreateEmployment","postCreateEmployment2","useUpdateEmployment","jsonSchemaQueryParams","getContractDetailsSchemaVersion","patchUpdateEmployment2","useUpdateBenefitsOffers","putUpdateBenefitOffer","useCountries","queryOptions","getSupportedCountry","country","useCountriesSchemaField","countries","isLoading","selectCountryForm","selectCountryStepSchema","countryField","field","useConvertCurrency","type","postConvertRawCurrencyConverter","postConvertWithSpreadCurrencyConverter","useUpsertContractEligibility","postCreateContractEligibility"]}
1
+ {"version":3,"sources":["../src/flows/Onboarding/api.ts"],"sourcesContent":["import { useMutation, useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport { Client } from '@/src/client/client';\nimport {\n ConvertCurrencyParams,\n CreateContractEligibilityParams,\n EmploymentCreateParams,\n EmploymentFullParams,\n getIndexBenefitOffer,\n getShowCompany,\n getShowEmployment,\n getShowFormCountry,\n getShowSchema,\n getSupportedCountry,\n patchUpdateEmployment2,\n postConvertRawCurrencyConverter,\n postConvertWithSpreadCurrencyConverter,\n postCreateContractEligibility,\n postCreateEmployment2,\n postCreateRiskReserve,\n postInviteEmploymentInvitation,\n PostInviteEmploymentInvitationData,\n putUpdateBenefitOffer,\n UnifiedEmploymentUpsertBenefitOffersRequest,\n} from '@/src/client';\n\nimport { useClient } from '@/src/context';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport {\n JSONSchemaFormResultWithFieldsets,\n JSONSchemaFormType,\n FlowOptions,\n} from '@/src/flows/types';\nimport { getContractDetailsSchemaVersion } from '@/src/flows/Onboarding/utils';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\n\nexport const useEmployment = (employmentId: string | undefined) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n enabled: !!employmentId,\n select: ({ data }) => {\n return data?.data.employment;\n },\n queryFn: async () => {\n const response = await getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n });\n};\n\nexport const useCompany = (companyId: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['company', companyId],\n retry: false,\n enabled: !!companyId,\n queryFn: async () => {\n const response = await getShowCompany({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n select: ({ data }) => {\n return data.data.company;\n },\n });\n};\n\nexport const useBenefitOffers = (employmentId: string | undefined) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n return getIndexBenefitOffer({\n client: client as Client,\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers data');\n }\n\n return response;\n });\n },\n select: ({ data }) =>\n data?.data?.reduce(\n (acc, item) => {\n return {\n ...acc,\n [item.benefit_group.slug]: {\n value: item.benefit_tier?.slug ?? 'no',\n ...(item.benefit_group?.filter?.slug\n ? { filter: item.benefit_group?.filter?.slug }\n : {}),\n },\n };\n },\n {} as Record<string, { value: string }>,\n ),\n });\n};\n/**\n * Use this hook to invite an employee to the onboarding flow\n * @returns\n */\nexport const useEmploymentInvite = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: PostInviteEmploymentInvitationData['path']) => {\n return postInviteEmploymentInvitation({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: payload,\n });\n },\n });\n};\n\nexport const useCreateReserveInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: { employment_slug: string }) => {\n return postCreateRiskReserve({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Use this hook to get the JSON schema form for the onboarding flow\n * @param param0\n * @returns\n */\nexport const useJSONSchemaForm = ({\n countryCode,\n form,\n fieldValues,\n options,\n query = {},\n jsonSchemaVersion,\n}: {\n countryCode: string;\n form: JSONSchemaFormType;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n jsonSchemaVersion?: number;\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n const jsonSchemaQueryParam = jsonSchemaVersion\n ? {\n json_schema_version: jsonSchemaVersion,\n }\n : {};\n return useQuery({\n queryKey: ['onboarding-json-schema-form', countryCode, form],\n retry: false,\n queryFn: async () => {\n const response = await getShowFormCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n country_code: countryCode,\n form: form,\n },\n query: {\n skip_benefits: true,\n ...query,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch onboarding schema');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nexport const useBenefitOffersSchema = (\n employmentId: string,\n fieldValues: FieldValues,\n options: OnboardingFlowProps['options'],\n) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers-schema', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n const response = await getShowSchema({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers schema');\n }\n\n return response;\n },\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, {\n jsfModify: options?.jsfModify?.benefits,\n });\n },\n });\n};\n\n/**\n * Use this hook to create an employment\n * @returns\n */\nexport const useCreateEmployment = () => {\n const { client } = useClient();\n // TODO: setting 1 as basic_information only supports v1 for now in the API\n const jsonSchemaQueryParam = {\n json_schema_version: 1,\n };\n return useMutation({\n mutationFn: (payload: EmploymentCreateParams) => {\n return postCreateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmployment = (\n countryCode: string,\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParams = {\n // TODO: setting 1 as basic_information only supports v1 for now in the API\n employment_basic_information_json_schema_version: 1,\n contract_details_json_schema_version:\n getContractDetailsSchemaVersion(options, countryCode) || 1,\n };\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentFullParams & { employmentId: string }) => {\n return patchUpdateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n skip_benefits: true,\n ...jsonSchemaQueryParams,\n },\n });\n },\n });\n};\n\nexport const useUpdateBenefitsOffers = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: UnifiedEmploymentUpsertBenefitOffersRequest & {\n employmentId: string;\n }) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n return putUpdateBenefitOffer({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nconst useCountries = (queryOptions?: { enabled?: boolean }) => {\n const { client } = useClient();\n return useQuery({\n ...queryOptions,\n queryKey: ['countries'],\n retry: false,\n queryFn: async () => {\n const response = await getSupportedCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch supported countries');\n }\n\n return response;\n },\n select: ({ data }) => {\n return (\n data?.data\n ?.filter((country) => country.eor_onboarding)\n .map((country) => {\n return {\n label: country.name,\n value: country.code,\n };\n }) || []\n );\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { data: countries, isLoading } = useCountries(options?.queryOptions);\n\n const selectCountryForm = createHeadlessForm(\n selectCountryStepSchema.data.schema,\n {},\n options,\n );\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n };\n};\n\nexport const useConvertCurrency = ({\n type = 'spread',\n}: {\n type?: 'spread' | 'no_spread';\n}) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: ConvertCurrencyParams) => {\n const apiFn =\n type === 'no_spread'\n ? postConvertRawCurrencyConverter\n : postConvertWithSpreadCurrencyConverter;\n return apiFn({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useUpsertContractEligibility = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: { employmentId: string } & CreateContractEligibilityParams) => {\n return postCreateContractEligibility({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: payload,\n });\n },\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useEmployment","__name","employmentId","client","useClient","useQuery","data","response","getShowEmployment","useCompany","companyId","getShowCompany","useBenefitOffers","getIndexBenefitOffer","acc","item","useEmploymentInvite","useMutation","payload","postInviteEmploymentInvitation","useCreateReserveInvoice","postCreateRiskReserve","useJSONSchemaForm","countryCode","form","fieldValues","options","query","jsonSchemaVersion","jsonSchemaQueryParam","getShowFormCountry","jsfSchema","createHeadlessForm","useBenefitOffersSchema","getShowSchema","useCreateEmployment","postCreateEmployment2","useUpdateEmployment","jsonSchemaQueryParams","getContractDetailsSchemaVersion","patchUpdateEmployment2","useUpdateBenefitsOffers","putUpdateBenefitOffer","useCountries","queryOptions","getSupportedCountry","country","useCountriesSchemaField","countries","isLoading","selectCountryForm","selectCountryStepSchema","countryField","field","useConvertCurrency","type","postConvertRawCurrencyConverter","postConvertWithSpreadCurrencyConverter","useUpsertContractEligibility","postCreateContractEligibility"]}
@@ -1,2 +1,2 @@
1
- import{b as ee}from"./chunk-NY7LII5R.js";import{a as L}from"./chunk-ZFKHCC4Z.js";import{a as Se,b as Le,c as Be,d as Oe,e as Ae,f as Ve,g as ze,h as Ge,i as Ue,j as Je,l as qe,m as Ze,n as Ke,o as Ye,p as Xe,r as Qe,t as je,u as eo,v as oo}from"./chunk-LAXQMTDQ.js";import{b as x}from"./chunk-KQPDXXG3.js";import{a as ve,b as B}from"./chunk-PJN2YJO4.js";import{a as ie,b as le,c as S,d as Me,e as Ie,f as We,g as He,h as b,i as N,j as P,k as D,l as w,m as T}from"./chunk-CR7AIZKA.js";import{h as Ee}from"./chunk-HRG5MSVG.js";import{a as _,e as j}from"./chunk-UQCSN47K.js";import{a as t}from"./chunk-P37U34EQ.js";import{Fragment as Xt,useEffect as Qt,useRef as it}from"react";import{Fragment as dt,jsx as A,jsxs as se}from"react/jsx-runtime";var to=t(({field:e,fieldState:o,fieldData:r})=>{let{name:n,label:l,description:i,options:m,multiple:a}=r;return se(N,{"data-field":n,className:_(`RemoteFlows__CheckBoxField__Item__${n}`),children:[A(D,{children:se(dt,{children:[m&&a?A(P,{children:l}):null,m&&a?m.map(d=>se("div",{className:"flex space-x-2",children:[A(Se,{id:d.value,onCheckedChange:c=>{e.onChange(c===!0,d.value)},checked:e.value?.includes(d.value),className:"RemoteFlows__CheckBox__Input"}),A(P,{htmlFor:d.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:d.label})]},d.value)):se("div",{className:"flex space-x-2",children:[A(Se,{id:n,onCheckedChange:d=>{e.onChange(d===!0,null)},checked:e.value,className:"RemoteFlows__CheckBox__Input"}),A(P,{htmlFor:n,className:"mb-0 RemoteFlows__CheckBox__Label",children:l})]})]})}),i&&A(w,{children:i}),o.error&&A(T,{})]})},"CheckboxFieldDefault");import{jsx as ro}from"react/jsx-runtime";function me({name:e,defaultValue:o,description:r,label:n,onChange:l,multiple:i,options:m,component:a,...d}){let{components:c}=x(),{control:s}=S(),p=t((u,h,g)=>{if(i&&g){let f=u.value?[...u.value]:[];h?f.includes(g)||u.onChange([...f,g]):u.onChange(f.filter(C=>C!==g))}else u.onChange(h)},"handleCheckboxChange");return ro(b,{control:s,name:e,defaultValue:o,render:({field:u,fieldState:h})=>{let f=a||c?.checkbox||to,C={name:e,description:r,label:n,defaultValue:o,multiple:i,options:m,...d};return ro(f,{field:{...u,onChange:t((v,k)=>{p(u,v,k),l?.(v,k)},"onChange")},fieldState:h,fieldData:C})}})}t(me,"CheckBoxField");import{CalendarIcon as Ft}from"lucide-react";import{format as io}from"date-fns";import*as O from"@radix-ui/react-popover";import{PopoverClose as no}from"@radix-ui/react-popover";import{jsx as de}from"react/jsx-runtime";function ce({...e}){return de(O.Root,{"data-slot":"popover",...e})}t(ce,"Popover");function pe({...e}){return de(O.Trigger,{"data-slot":"popover-trigger",...e})}t(pe,"PopoverTrigger");function ue({className:e,align:o="center",sideOffset:r=4,...n}){return de(O.Portal,{children:de(O.Content,{"data-slot":"popover-content",align:o,sideOffset:r,className:_("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...n})})}t(ue,"PopoverContent");import{ChevronLeft as ct,ChevronRight as pt}from"lucide-react";import{DayPicker as ut}from"react-day-picker";import{jsx as xe}from"react/jsx-runtime";function ao({className:e,classNames:o,showOutsideDays:r=!0,...n}){return xe(ut,{showOutsideDays:r,className:_("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:_(ve({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:_("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",n.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:_(ve({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...o},components:{IconLeft:t(({className:l,...i})=>xe(ct,{className:_("size-4",l),...i}),"IconLeft"),IconRight:t(({className:l,...i})=>xe(pt,{className:_("size-4",l),...i}),"IconRight")},...n})}t(ao,"Calendar");import{jsx as ft}from"react/jsx-runtime";function G({helpCenter:e}){return e?ft(ee,{zendeskId:e.id,children:e.callToAction}):null}t(G,"HelpCenter");import{Fragment as gt,jsx as I,jsxs as fe}from"react/jsx-runtime";function lo({field:e,fieldData:o,fieldState:r}){let{name:n,label:l,description:i,minDate:m,maxDate:a}=o,d=m?new Date(m):void 0,c=a?new Date(a):void 0;return fe(N,{"data-field":n,className:`flex flex-col RemoteFlows__DatePickerField__Item__${n}`,children:[I(P,{className:"RemoteFlows__DatePickerField__Label",children:l}),fe(ce,{children:[I(pe,{asChild:!0,children:I(D,{children:I("div",{children:fe(B,{type:"button",variant:"outline",className:_("w-full pl-3 text-left font-normal",!e.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${n}`,children:[e.value&&I(gt,{children:io(e.value,"yyyy-MM-dd")}),I(Ft,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),I(ue,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:I(ao,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:e.value?new Date(e.value):void 0,onSelect:s=>{e.onChange(s?io(s,"yyyy-MM-dd"):null)},defaultMonth:d,components:{DayContent:t(s=>I(no,{children:s.date.getDate()}),"DayContent")},disabled:s=>!!(d&&s<d||c&&s>c)})})]}),i?fe(w,{children:[i," ",I(G,{helpCenter:o.meta?.helpCenter})]}):null,r.error&&I(T,{className:"RemoteFlows__DatePickerField__Error"})]})}t(lo,"DatePickerFieldDefault");import{jsx as so}from"react/jsx-runtime";function mo({description:e,label:o,name:r,minDate:n,maxDate:l,onChange:i,component:m,...a}){let{components:d}=x(),{control:c}=S(),s;a.meta?.mot&&typeof a.meta.mot=="number"?s=Ee(a.meta.mot):n&&(s=new Date(`${n}T00:00:00`));let p;return l&&(p=new Date(`${l}T23:59:59`)),so(b,{control:c,name:r,render:({field:u,fieldState:h})=>{let f=m||d?.date||lo,C={description:e,label:o,name:r,onChange:i,...s&&{minDate:s.toISOString()},...p&&{maxDate:p.toISOString()},...a};return so(f,{field:{...u,onChange:t(v=>{u.onChange(v),i?.(v)},"onChange")},fieldState:h,fieldData:C})}})}t(mo,"DatePickerField");import{jsx as U,jsxs as ht}from"react/jsx-runtime";function co({field:e,fieldState:o,fieldData:r}){let{name:n,label:l,description:i,multiple:m,accept:a}=r;return ht(N,{"data-field":n,className:`RemoteFlows__FileUpload__Item__${n}`,children:[U(P,{className:"RemoteFlows__FileUpload__Label",children:l}),U(D,{children:U(Le,{onChange:e.onChange,multiple:m,className:_("RemoteFlows__FileUpload__Input"),accept:a,files:e.value})}),i&&U("div",{className:"flex items-center justify-between",children:U(w,{className:"RemoteFlows__FileUpload__Description",children:i})}),o.error&&U(T,{className:"RemoteFlows__FileUpload__Error"})]})}t(co,"FileUploadFieldDefault");import{jsx as po}from"react/jsx-runtime";var _t=t((e,o)=>{if(!o)return null;for(let r of e)if(r.size>o){let n=Math.round(o/1048576),l=Math.round(r.size/(1024*1024));return`File "${r.name}" exceeds maximum size of ${n}MB (file is ${l}MB)`}return null},"validateFileSize");function uo({name:e,description:o,label:r,multiple:n,onChange:l,component:i,accept:m,maxSize:a,...d}){let{components:c}=x(),{control:s,setError:p,clearErrors:u}=S(),h=t(async(g,f)=>{let C=_t(g,a);if(C){p(e,{message:C});return}u(e),f.onChange(g),l?.(g)},"handleOnChange");return po(b,{control:s,name:e,render:({field:g,fieldState:f})=>{let v=i||c?.file||co,k={name:e,description:o,label:r,multiple:n,accept:m,maxFileSize:a,...d};return po(v,{field:{...g,value:g.value,onChange:t(async z=>h(z,g),"onChange")},fieldState:f,fieldData:k})}})}t(uo,"FileUploadField");import{jsx as Ct}from"react/jsx-runtime";function fo({field:e,fieldData:o}){return Ct(L,{type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",...e,...o})}t(fo,"NumberFieldDefault");import{jsx as Fo}from"react/jsx-runtime";function Fe(e){let{components:o}=x(),{control:r}=S(),l=e.component||o?.number||fo;return Fo(b,{control:r,name:e.name,render:({field:i,fieldState:m})=>Fo(l,{field:{...i,onChange:t(a=>{i.onChange(a),e.onChange?.(a)},"onChange")},fieldState:m,fieldData:e})})}t(Fe,"NumberField");import{Fragment as yt}from"react";import{jsx as W,jsxs as ge}from"react/jsx-runtime";var go=t(({field:e,fieldData:o,fieldState:r})=>{let{name:n,label:l,description:i,options:m}=o;return W("fieldset",{className:_("space-y-3",`RemoteFlows__RadioGroupField__Item__${n}`),"data-field":n,children:ge(N,{children:[W("legend",{children:l}),i&&ge(w,{children:[i," ",W(G,{helpCenter:o.meta?.helpCenter})]}),W(D,{children:W(Be,{"aria-label":l||n,onValueChange:a=>{e.onChange(a)},value:e.value,className:"flex flex-col space-y-3",children:m?.map(a=>W(yt,{children:ge(N,{"data-field":n,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[W(D,{children:W(Oe,{value:a.value,className:"RemoteFlows__RadioField__Input",disabled:a.disabled})}),ge("div",{children:[W(P,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:a.label}),a.description&&W(w,{className:"mt-2",children:a.description})]})]})},a.value))})}),r.error&&W(T,{})]})})},"RadioGroupFieldDefault");import{jsx as ho}from"react/jsx-runtime";function _o({name:e,defaultValue:o,description:r,label:n,options:l,onChange:i,component:m,...a}){let{components:d}=x(),{control:c}=S();return ho(b,{control:c,name:e,defaultValue:o,render:({field:s,fieldState:p})=>{let h=m||d?.radio||go,g={name:e,defaultValue:o,description:r,label:n,options:l,...a};return ho(h,{field:{...s,onChange:t(f=>{s.onChange(f),i?.(f)},"onChange")},fieldState:p,fieldData:g})}})}t(_o,"RadioGroupField");import{jsx as E,jsxs as Co}from"react/jsx-runtime";function yo({field:e,fieldState:o,fieldData:r}){let{name:n,label:l,description:i,options:m}=r;return Co(N,{"data-field":n,className:`RemoteFlows__SelectField__Item__${n}`,children:[E(P,{className:"RemoteFlows__SelectField__Label",children:l}),E(D,{children:E("div",{className:"relative",children:Co(Ae,{value:e.value||"",onValueChange:a=>{e.onChange(a)},children:[E(Ge,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!o.error,"aria-label":l,children:E("span",{className:"absolute",children:E(ze,{placeholder:l})})}),E(Ue,{className:"RemoteFlows__SelectField__Content",children:E(Ve,{className:"RemoteFlows__SelectField__Group",children:m?.map(a=>E(Je,{value:a.value,className:"RemoteFlows__SelectField__SelectItem",disabled:a.disabled,children:a.label},a.value))})})]})})}),i&&E(w,{children:i}),o.error&&E(T,{})]})}t(yo,"SelectFieldDefault");import{jsx as vo}from"react/jsx-runtime";function So({label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,component:m,...a}){let{control:d}=S(),{components:c}=x();return vo(b,{defaultValue:n,control:d,name:o,render:({field:s,fieldState:p})=>{let h=m||c?.select||yo,g={label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,...a};return vo(h,{field:{...s,onChange:t(f=>{let C=a.jsonType==="number"?Number(f):f;s.onChange(C),i?.(C)},"onChange")},fieldState:p,fieldData:g})}})}t(So,"SelectField");import{useEffect as Pt,useState as Nt}from"react";import{Fragment as vt,useState as St}from"react";import{Check as xt,ChevronDownIcon as bt,X as kt}from"lucide-react";import{Command as J}from"cmdk";import{SearchIcon as Qn}from"lucide-react";import{jsx as q,jsxs as oa}from"react/jsx-runtime";function xo({className:e,...o}){return q(J,{"data-slot":"command",className:_("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...o})}t(xo,"Command");function bo({className:e,...o}){return q(J.List,{"data-slot":"command-list",className:_("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...o})}t(bo,"CommandList");function ko({...e}){return q(J.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}t(ko,"CommandEmpty");function Po({className:e,...o}){return q(J.Group,{"data-slot":"command-group",className:_("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...o})}t(Po,"CommandGroup");function No({className:e,...o}){return q(J.Separator,{"data-slot":"command-separator",className:_("bg-border -mx-1 h-px",e),...o})}t(No,"CommandSeparator");function Do({className:e,...o}){return q(J.Item,{"data-slot":"command-item",className:_("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o})}t(Do,"CommandItem");import{jsx as $,jsxs as Z}from"react/jsx-runtime";function he({options:e,selected:o,onChange:r,placeholder:n,...l}){let[i,m]=St(!1),a=t(s=>{r(o.filter(p=>p.value!==s.value))},"handleUnselect"),d=e.some(s=>s.category),c=e.reduce((s,p)=>{let u=p.category||"Uncategorized";return s[u]||(s[u]=[]),s[u].push(p),s},{});return Z(ce,{open:i,onOpenChange:m,...l,children:[$(pe,{children:Z(B,{variant:"outline",role:"combobox","aria-expanded":i,className:"w-full justify-between font-normal",type:"button",children:[$("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:o.length>0?o.map(s=>Z(qe,{variant:"secondary",className:"mr-1 mb-1",children:[s.label,$("div",{role:"button",tabIndex:0,"aria-label":`remove ${s.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:p=>{p.key==="Enter"&&a(s)},onMouseDown:p=>{p.preventDefault(),p.stopPropagation()},onClick:()=>a(s),children:$(kt,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},s.label)):$("span",{className:"text-foreground",children:n})}),$(bt,{className:"size-4"})]})}),$(ue,{align:"start",className:"w-full p-0",children:$(xo,{children:Z(bo,{children:[$(ko,{children:"No item found."}),Object.entries(c).map(([s,p],u)=>Z(vt,{children:[u>0&&$(No,{}),$(Po,{heading:d?s:void 0,children:p.map(h=>{let g=o.some(f=>f.value===h.value);return Z(Do,{onSelect:()=>{r(g?o.filter(f=>f.value!==h.value):[...o,h])},children:[$(xt,{className:_("mr-2 h-4 w-4",g?"opacity-100":"opacity-0")}),h.label]},h.label)})})]},s))]})})})]})}t(he,"MultiSelect");import{jsx as oe,jsxs as wo}from"react/jsx-runtime";function To({field:e,fieldState:o,fieldData:r}){let[n,l]=Nt([]),i=t(a=>{let d=a.map(({value:c})=>c);e.onChange(d),l(a)},"handleChange");Pt(()=>{e.value&&r.options&&l(e.value.map(a=>r?.options?.find(d=>d.value===a)))},[e.value,r.options]);let m=[...Object.entries(r.$meta?.regions||{}).map(([a,d])=>({value:d,label:a,category:"Regions"})),...Object.entries(r.$meta?.subregions||{}).map(([a,d])=>({value:d,label:a,category:"Subregions"})),...r.options?.map(a=>({...a,value:a.value,label:a.label,category:"Countries"}))||[]];return wo(N,{"data-field":e.name,className:`RemoteFlows__CountryField__Item__${e.name}`,children:[oe(P,{className:"RemoteFlows__CountryField__Label",children:r.label}),oe(D,{children:oe(he,{options:m,selected:n,onChange:i})}),r.description&&wo(w,{children:[r.description," ",oe(G,{helpCenter:r.meta?.helpCenter})]}),o.error&&oe(T,{})]})}t(To,"CountryFieldDefault");import{jsx as Ro}from"react/jsx-runtime";function $o({label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,$meta:m,component:a,...d}){let{control:c}=S(),{components:s}=x();return Ro(b,{defaultValue:n,control:c,name:o,render:({field:p,fieldState:u})=>{let g=a||s?.countries||To,f={label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,$meta:m,...d};return Ro(g,{field:{...p,onChange:t(C=>{p.onChange(C),i?.(C)},"onChange")},fieldState:u,fieldData:f})}})}t($o,"CountryField");import*as Mo from"react";import{jsx as Dt}from"react/jsx-runtime";var be=Mo.forwardRef(({className:e,...o},r)=>Dt("textarea",{className:_("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...o}));be.displayName="Textarea";import{jsx as te,jsxs as ke}from"react/jsx-runtime";function Io({field:e,fieldState:o,fieldData:r}){let{name:n,label:l,description:i,maxLength:m}=r,a=e.value?.length??0;return ke(N,{"data-field":n,className:`RemoteFlows__TextArea__Item__${n}`,children:[te(P,{className:"RemoteFlows__TextArea__Label",children:l}),te(D,{children:te(be,{...e,value:e.value??"",onChange:d=>{e.onChange(d)},className:_(o.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:l})}),(i||m)&&ke("div",{className:"flex items-center justify-between",children:[i&&te(w,{className:"RemoteFlows__TextArea__Description",children:i}),m&&ke("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[a,"/",m]})]}),o.error&&te(T,{className:"RemoteFlows__TextArea__Error"})]})}t(Io,"TextAreaFieldDefault");import{jsx as Wo}from"react/jsx-runtime";function Eo({name:e,description:o,label:r,onChange:n,maxLength:l,component:i,...m}){let{components:a}=x(),{control:d}=S();return Wo(b,{control:d,name:e,render:({field:c,fieldState:s})=>{let u=i||a?.textarea||Io,h={name:e,description:o,label:r,maxLength:l,...m};return Wo(u,{field:{...c,onChange:t(g=>{c.onChange(g),n?.(g)},"onChange")},fieldState:s,fieldData:h})}})}t(Eo,"TextAreaField");import{jsx as wt}from"react/jsx-runtime";function Ho({field:e,fieldData:o}){return wt(L,{name:e.name,...o,type:"email"})}t(Ho,"EmailFieldDefault");import{jsx as Lo}from"react/jsx-runtime";function Bo(e){let{components:o}=x(),{control:r}=S(),l=e.component||o?.email||Ho;return Lo(b,{control:r,name:e.name,render:({field:i,fieldState:m})=>Lo(l,{field:{...i,onChange:t(a=>{i.onChange(a),e.onChange?.(a)},"onChange")},fieldState:m,fieldData:e})})}t(Bo,"EmailField");import{jsx as Oo}from"react/jsx-runtime";function Ao(e){let{control:o}=S();return Oo(b,{control:o,name:e.name,render:({field:r})=>Oo("input",{...r,type:"hidden"})})}t(Ao,"HiddenField");import{useEffect as At,useState as Vt}from"react";import Vo from"lodash.groupby";import K from"lodash.capitalize";var zo=60,_e=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function Tt(e){if(e<60)return`${e}m`;let o=Math.floor(e/zo),r=e%zo;return r>0?`${o}h${r}m`:`${o}h`}t(Tt,"convertBreakDurationToHours");function Go(e){let o=e.reduce((r,n)=>n.hours+r,0);return Number(o.toFixed(2))}t(Go,"calculateTotalWorkHours");function Rt(e,o){let r=o.map(({day:i})=>i.toLowerCase()),n=r.indexOf(e),l=null;for(;n<r.length&&!l;){let i=r[n],m=r[n+1],a=_e.indexOf(i)+1;_e[a]===m||(l=i),n+=1}return l}t(Rt,"findLastConsecutiveDay");function $t(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}t($t,"shouldSummarizeSchedule");function Mt(e){return Number.parseInt(e.break_duration_minutes)>0}t(Mt,"shouldSummarizeBreaks");function Uo(e){let o=e.filter($t),r=Vo(o,a=>`${a.start_time}|${a.end_time}`),n=e.filter(Mt),l=Vo(n,"break_duration_minutes"),i=Object.keys(r).map(a=>{let d=r[a],c=d[0].day,[s,p]=a.split("|"),u=`from <span>${s.replace(":","h")}</span> to <span>${p.replace(":","h")}</span>`,h=Rt(c,d),f=(h?d.findIndex(C=>C.day===h):-1)===d.length-1;return d.length===1?`${K(c)}, ${u}`:!f||!h?d.reduce((C,v,k)=>{let z=K(v.day);return k===d.length-1?`${C}and ${z}, ${u}`:`${C}<span>${z}</span>, `},""):`<span>${K(c)}</span> to <span>${K(h)}</span>, ${u}`}),m=Object.keys(l).reverse().map((a,d)=>{let c=d===0,s=l[a],p=Tt(parseInt(a,10));if(Object.keys(l).length===1)return`With ${p} daily breaks`;if(s.length===1){let u=`${p} break on ${K(s[0].day)}.`;return c?`With ${u}`:u}return s.reduce((u,h,g)=>{let f=K(h.day);return g===0?`${u} ${f}`:g===s.length-1?`${u}, and ${f}.`:`${u}, ${f}`},c?`With ${p} break on`:`${p} break on`)});return{workHoursSummary:i,breakSummary:m}}t(Uo,"buildWorkScheduleSummary");function Pe(e){let{checked:o,start_time:r,end_time:n,break_duration_minutes:l}=e;if(!o)return 0;let[i,m]=r.split(":").map(Number),[a,d]=n.split(":").map(Number),c=i*60+m,u=(a*60+d-c-Number.parseInt(l||"0"))/60;return u===Math.floor(u)?u:Number(u.toFixed(2))}t(Pe,"calculateHours");var It={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function Ce(e){return It[e]}t(Ce,"getShortWeekday");import*as R from"yup";var Jo=t((e,o,r)=>{if(e&&"reportValidity"in e){let n=ie(r,o);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},"r"),Ne=t((e,o)=>{for(let r in o.fields){let n=o.fields[r];n&&n.ref&&"reportValidity"in n.ref?Jo(n.ref,r,e):n&&n.refs&&n.refs.forEach(l=>Jo(l,r,e))}},"o"),Zo=t((e,o)=>{o.shouldUseNativeValidation&&Ne(e,o);let r={};for(let n in e){let l=ie(o.fields,n),i=Object.assign(e[n]||{},{ref:l&&l.ref});if(Wt(o.names||Object.keys(e),n)){let m=Object.assign({},ie(r,n));le(m,"root",i),le(r,n,m)}else le(r,n,i)}return r},"s"),Wt=t((e,o)=>{let r=qo(o);return e.some(n=>qo(n).match(`^${r}\\.\\d+`))},"i");function qo(e){return e.replace(/\]|\[/g,"")}t(qo,"n");function Ko(e,o,r){return o===void 0&&(o={}),r===void 0&&(r={}),function(n,l,i){try{return Promise.resolve((function(m,a){try{var d=(o.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[r.mode==="sync"?"validateSync":"validate"](n,Object.assign({abortEarly:!1},o,{context:l}))).then(function(c){return i.shouldUseNativeValidation&&Ne({},i),{values:r.raw?Object.assign({},n):c,errors:{}}}))}catch(c){return a(c)}return d&&d.then?d.then(void 0,a):d})(0,function(m){if(!m.inner)throw m;return{values:{},errors:Zo((a=m,d=!i.shouldUseNativeValidation&&i.criteriaMode==="all",(a.inner||[]).reduce(function(c,s){if(c[s.path]||(c[s.path]={message:s.message,type:s.type}),d){var p=c[s.path].types,u=p&&p[s.type];c[s.path]=Me(s.path,d,c,s.type,u?[].concat(u,s.message):s.message)}return c},{})),i)};var a,d}))}catch(m){return Promise.reject(m)}}}t(Ko,"o");import{Fragment as Et,useState as Ht}from"react";import{jsx as y,jsxs as M}from"react/jsx-runtime";var Lt=R.object({day:R.string().required(),checked:R.boolean().required(),start_time:R.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:t(e=>e.required("Required"),"then"),otherwise:t(e=>e.optional().nullable(),"otherwise")}),end_time:R.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:t(e=>e.required("Required"),"then"),otherwise:t(e=>e.optional().nullable(),"otherwise")}),hours:R.number().default(0),break_duration_minutes:R.string().default("0")}),Bt=R.object({schedule:R.array(Lt)});function Ot({defaultSchedule:e,onSubmit:o}){let[r,n]=Ht(!1),l=_e.map(f=>{let C=e.find(v=>v.day.toLowerCase()===Ce(f).toLowerCase()||v.day.toLowerCase()===f.toLowerCase());return C?{...C,day:Ce(f),checked:!0}:{...e[0],checked:!1,day:Ce(f)}}),i=We({defaultValues:{schedule:l},resolver:Ko(Bt)}),{handleSubmit:m,watch:a,reset:d,control:c,formState:s}=i,{fields:p}=Ie({name:"schedule",control:c}),u=a("schedule");function h(f){let C=f.schedule.filter(({checked:v})=>v).map(v=>({...v,hours:Pe(v)}));o(C),n(!1)}t(h,"handleSubmitWorkingHours");function g(){d(),n(!1)}return t(g,"handleCancel"),y("div",{className:"flex items-center justify-between",children:M(Ze,{open:r,onOpenChange:n,children:[y(Ke,{asChild:!0,children:y(B,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),M(Ye,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[y(Xe,{children:y(Qe,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),y(He,{...i,children:M("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[M("div",{className:"rounded-lg",children:[y("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),M("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[y("div",{className:"col-span-2"}),y("div",{className:"col-span-3 text-center",children:"START"}),y("div",{className:"col-span-1 text-center"}),y("div",{className:"col-span-3 text-center",children:"END"}),y("div",{className:"col-span-2 text-center",children:"HOURS"})]}),y("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:p.map((f,C)=>{let v=u[C],k=Pe(v);return M(Et,{children:[M("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[y("div",{className:"col-span-2 flex items-center gap-3",children:y(me,{label:f.day,name:`schedule.${C}.checked`})}),y("div",{className:"col-span-3",children:y(L,{name:`schedule.${C}.start_time`,includeErrorMessage:!1})}),y("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),y("div",{className:"col-span-3",children:y(L,{name:`schedule.${C}.end_time`,includeErrorMessage:!1})}),y("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(k)?"-":`${k} hours`})]}),M("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[y("div",{className:"col-span-2 text-gray-500",children:"Break"}),y("div",{className:"col-span-2",children:y(L,{name:`schedule.${C}.break_duration_minutes`,includeErrorMessage:!1})}),y("div",{className:"col-span-2 text-gray-500",children:"minutes"}),y("div",{className:"col-span-4"})]})]},f.id)})})]}),Object.keys(s.errors).length>0&&y("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),M("div",{className:"flex gap-4 pt-4",children:[y(B,{type:"button",className:"reset-button",variant:"outline",onClick:g,children:"Cancel"}),y(B,{type:"button",className:"submit-button",onClick:m(h),children:"Save Schedule"})]})]})})]})]})})}t(Ot,"WorkScheduleSelectionForm");var Yo=t(({fieldData:e})=>{let{defaultFormattedValue:o,currentSchedule:r,onSubmit:n}=e,{workHoursSummary:l,breakSummary:i,totalWorkHours:m}=o;return M("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[y("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),M("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[y("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:l.join(", ")}}),y("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:i.join()}),M("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",y("span",{children:m})," hours per week"]}),y(Ot,{defaultSchedule:r,onSubmit:n})]})]})},"WorkScheduleFieldDefault");import{jsx as Xo}from"react/jsx-runtime";function Qo(e){let{components:o}=x(),{setValue:r,control:n,watch:l}=S(),i=l(e.name),[m,a]=Vt(i),{workHoursSummary:d,breakSummary:c}=Uo(m),s=Go(m);At(()=>{r(e.name,m)},[m,e.name,r]);function p(f){a(f)}t(p,"onSubmit");let h=e.component||o?.["work-schedule"]||Yo,g={...e,onSubmit:p,currentSchedule:m,defaultFormattedValue:{workHoursSummary:d,breakSummary:c,totalWorkHours:s}};return Xo(b,{control:n,name:e.name,render:({field:f,fieldState:C})=>Xo(h,{field:{...f,onChange:t(v=>{f.onChange(v),e.onChange?.(v)},"onChange")},fieldState:C,fieldData:g})})}t(Qo,"WorkScheduleField");import{useEffect as zt,useState as Gt}from"react";import{jsx as re,jsxs as Ut}from"react/jsx-runtime";var jo=t(({field:e,fieldState:o,fieldData:r})=>{let[n,l]=Gt([]),{name:i,label:m,description:a,options:d}=r,c=n||d?.filter(s=>e.value?.includes(s.value));return zt(()=>{l(d?.filter(s=>e.value?.includes(s.value))||[])},[e.value,d]),Ut(N,{"data-field":i,className:`RemoteFlows__SelectField__Item__${i}`,children:[re(P,{className:"RemoteFlows__SelectField__Label",children:m}),re(D,{children:re(he,{options:d||[],selected:c,onChange:s=>{let p=s.map(({value:u})=>u);e.onChange(p),l(s)}})}),a&&re(w,{children:a}),o.error&&re(T,{})]})},"MultiSelectFieldDefault");import{jsx as et}from"react/jsx-runtime";function ot({label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,component:m,...a}){let{control:d}=S(),{components:c}=x();return et(b,{defaultValue:n,control:d,name:o,render:({field:s,fieldState:p})=>{let h=m||c?.["multi-select"]||jo,g={label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,...a};return et(h,{field:{...s,onChange:t(f=>{s.onChange(f),i?.(f)},"onChange")},fieldState:p,fieldData:g})}})}t(ot,"MultiSelectField");import{jsx as Jt}from"react/jsx-runtime";var tt=t(e=>Jt(Fe,{maxLength:15,...e}),"MoneyField");var De={checkbox:me,text:L,email:Bo,money:tt,select:So,"multi-select":ot,radio:_o,number:Fe,file:uo,date:mo,textarea:Eo,countries:$o,hidden:Ao,"work-schedule":Qo};import{AlertCircle as qt}from"lucide-react";import{jsx as we,jsxs as Zt}from"react/jsx-runtime";function rt({data:e}){let{title:o,description:r,severity:n}=e,i={warning:"warning",error:"destructive",info:"default",success:"warning"}[n]??"warning";return Zt(je,{variant:i,children:[we(qt,{className:"h-4 w-4"}),o&&we(eo,{dangerouslySetInnerHTML:{__html:o}}),r&&we(oo,{dangerouslySetInnerHTML:{__html:r}})]})}t(rt,"StatementDefault");import{jsx as Kt}from"react/jsx-runtime";function nt({title:e,description:o,severity:r}){let{components:n}=x(),l=n?.statement??rt;return Kt(l,{data:{title:e?j(e):void 0,description:j(o),severity:r}})}t(nt,"Statement");import{jsx as Yt}from"react/jsx-runtime";var at=t(({isExpanded:e,onToggle:o,className:r,...n})=>Yt(B,{type:"button",className:_("RemoteFlows__Button RemoteFlows__FieldSetField__ToggleButton",r),variant:"default",onClick:o,...n,children:e?"Remove":"Define"}),"FieldsetToggleButtonDefault");import{Fragment as jt,jsx as H,jsxs as V}from"react/jsx-runtime";function lt({label:e,name:o,fields:r,description:n,components:l,statement:i,isFlatFieldset:m,extra:a,variant:d="outset",features:c,meta:s}){let{helpCenter:p}=s||{},{watch:u,setValue:h,trigger:g,formState:f}=S(),{components:C}=x(),v=c?.toggle?.stateField,k=v?u(v):c?.toggle?.defaultExpanded??!0,z=r.map(({name:F})=>`${o}.${F}`),ne=u(z),Te=it(ne),Y=it(null),st=t(()=>{v&&h(v,!k)},"toggleExpanded");Qt(()=>{let F=ne,X=Te.current,ye=f.isSubmitted||f.submitCount>0,ae=!1;for(let Q=0;Q<F.length;Q++)if(F[Q]!==void 0&&X[Q]!==F[Q]){ae=!0;break}return ae&&ye&&(Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{g()},50)),Te.current=[...F],()=>{Y.current&&clearTimeout(Y.current)}},[ne,g,f.isSubmitted,f.submitCount]);let mt=C?.fieldsetToggle||at,Re=`${o}-content`,$e=`${o}-header`;return V("fieldset",{className:_("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[H("legend",{className:_("text-sm font-semibold px-2",d==="inset"&&"hidden"),children:e}),p?.callToAction&&p?.id&&d==="outset"&&H(ee,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction}),d==="inset"&&V(jt,{children:[V("div",{className:"RemoteFlows__FieldSetField__Header",id:$e,"data-state":k?"expanded":"collapsed","aria-expanded":k,children:[H("h3",{className:_("RemoteFlows__FieldSetField__Title"),children:e}),c?.toggle?.enabled&&H(mt,{isExpanded:k,onToggle:st,"aria-expanded":k,"aria-controls":Re,"aria-label":`${k?"Hide":"Show"} ${e}`,className:_("RemoteFlows__FieldSetField__Toggle",c.toggle?.className),children:k?c.toggle.labels?.collapse??"Remove":c.toggle.labels?.expand??"Define"})]}),p?.callToAction&&p?.id&&H(ee,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction})]}),k&&V("div",{id:Re,"aria-labelledby":$e,role:"region",children:[n?H("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:j(n)}}):null,V("div",{className:"grid gap-4",children:[r.map(F=>{if(F.calculateDynamicProperties&&(F={...F,...F.calculateDynamicProperties(ne,F)||{}}),F.isVisible===!1||F.deprecated)return null;if(F.inputType==="fieldset")return H(lt,{...F,name:`${m?F.name:`${o}.${F.name}`}`,components:l},`${m?F.name:`${o}.${F.name}`}`);if(F.inputType==="fieldset-flat")return H(lt,{...F,name:`${m?F.name:`${o}.${F.name}`}`,components:l,isFlatFieldset:!0},`${m?F.name:`${o}.${F.name}`}`);let X=De[F.inputType];if(F.Component){let{Component:ye}=F;return H(ye,{setValue:ae=>h(m?F.name:`${o}.${F.name}`,ae),...F},F.name)}return X?(F.inputType==="select"&&F.multiple&&(X=De["multi-select"]),V(Xt,{children:[H(X,{...F,name:`${m?F.name:`${o}.${F.name}`}`,component:l?.[F.inputType]}),F.extra?F.extra:null]},`${m?F.name:`${o}.${F.name}`}`)):V("p",{className:"error",children:["Field type ",F.inputType," not supported"]})}),a||null,i?H(nt,{...i}):null]})]})]})}t(lt,"FieldSetField");export{De as a,nt as b,lt as c};
2
- //# sourceMappingURL=chunk-CM2YPABC.js.map
1
+ import{b as ee}from"./chunk-EGSUF7OD.js";import{a as L}from"./chunk-ZFKHCC4Z.js";import{a as Se,b as Le,c as Be,d as Oe,e as Ae,f as Ve,g as ze,h as Ge,i as Ue,j as Je,l as qe,m as Ze,n as Ke,o as Ye,p as Xe,r as Qe,t as je,u as eo,v as oo}from"./chunk-LAXQMTDQ.js";import{b as x}from"./chunk-KQPDXXG3.js";import{a as ve,b as B}from"./chunk-PJN2YJO4.js";import{a as ie,b as le,c as S,d as Me,e as Ie,f as We,g as He,h as b,i as N,j as P,k as D,l as w,m as T}from"./chunk-CR7AIZKA.js";import{h as Ee}from"./chunk-HRG5MSVG.js";import{a as _,e as j}from"./chunk-UQCSN47K.js";import{a as t}from"./chunk-P37U34EQ.js";import{Fragment as Xt,useEffect as Qt,useRef as it}from"react";import{Fragment as dt,jsx as A,jsxs as se}from"react/jsx-runtime";var to=t(({field:e,fieldState:o,fieldData:r})=>{let{name:n,label:l,description:i,options:m,multiple:a}=r;return se(N,{"data-field":n,className:_(`RemoteFlows__CheckBoxField__Item__${n}`),children:[A(D,{children:se(dt,{children:[m&&a?A(P,{children:l}):null,m&&a?m.map(d=>se("div",{className:"flex space-x-2",children:[A(Se,{id:d.value,onCheckedChange:c=>{e.onChange(c===!0,d.value)},checked:e.value?.includes(d.value),className:"RemoteFlows__CheckBox__Input"}),A(P,{htmlFor:d.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:d.label})]},d.value)):se("div",{className:"flex space-x-2",children:[A(Se,{id:n,onCheckedChange:d=>{e.onChange(d===!0,null)},checked:e.value,className:"RemoteFlows__CheckBox__Input"}),A(P,{htmlFor:n,className:"mb-0 RemoteFlows__CheckBox__Label",children:l})]})]})}),i&&A(w,{children:i}),o.error&&A(T,{})]})},"CheckboxFieldDefault");import{jsx as ro}from"react/jsx-runtime";function me({name:e,defaultValue:o,description:r,label:n,onChange:l,multiple:i,options:m,component:a,...d}){let{components:c}=x(),{control:s}=S(),p=t((u,h,g)=>{if(i&&g){let f=u.value?[...u.value]:[];h?f.includes(g)||u.onChange([...f,g]):u.onChange(f.filter(C=>C!==g))}else u.onChange(h)},"handleCheckboxChange");return ro(b,{control:s,name:e,defaultValue:o,render:({field:u,fieldState:h})=>{let f=a||c?.checkbox||to,C={name:e,description:r,label:n,defaultValue:o,multiple:i,options:m,...d};return ro(f,{field:{...u,onChange:t((v,k)=>{p(u,v,k),l?.(v,k)},"onChange")},fieldState:h,fieldData:C})}})}t(me,"CheckBoxField");import{CalendarIcon as Ft}from"lucide-react";import{format as io}from"date-fns";import*as O from"@radix-ui/react-popover";import{PopoverClose as no}from"@radix-ui/react-popover";import{jsx as de}from"react/jsx-runtime";function ce({...e}){return de(O.Root,{"data-slot":"popover",...e})}t(ce,"Popover");function pe({...e}){return de(O.Trigger,{"data-slot":"popover-trigger",...e})}t(pe,"PopoverTrigger");function ue({className:e,align:o="center",sideOffset:r=4,...n}){return de(O.Portal,{children:de(O.Content,{"data-slot":"popover-content",align:o,sideOffset:r,className:_("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...n})})}t(ue,"PopoverContent");import{ChevronLeft as ct,ChevronRight as pt}from"lucide-react";import{DayPicker as ut}from"react-day-picker";import{jsx as xe}from"react/jsx-runtime";function ao({className:e,classNames:o,showOutsideDays:r=!0,...n}){return xe(ut,{showOutsideDays:r,className:_("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:_(ve({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:_("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",n.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:_(ve({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...o},components:{IconLeft:t(({className:l,...i})=>xe(ct,{className:_("size-4",l),...i}),"IconLeft"),IconRight:t(({className:l,...i})=>xe(pt,{className:_("size-4",l),...i}),"IconRight")},...n})}t(ao,"Calendar");import{jsx as ft}from"react/jsx-runtime";function G({helpCenter:e}){return e?ft(ee,{zendeskId:e.id,children:e.callToAction}):null}t(G,"HelpCenter");import{Fragment as gt,jsx as I,jsxs as fe}from"react/jsx-runtime";function lo({field:e,fieldData:o,fieldState:r}){let{name:n,label:l,description:i,minDate:m,maxDate:a}=o,d=m?new Date(m):void 0,c=a?new Date(a):void 0;return fe(N,{"data-field":n,className:`flex flex-col RemoteFlows__DatePickerField__Item__${n}`,children:[I(P,{className:"RemoteFlows__DatePickerField__Label",children:l}),fe(ce,{children:[I(pe,{asChild:!0,children:I(D,{children:I("div",{children:fe(B,{type:"button",variant:"outline",className:_("w-full pl-3 text-left font-normal",!e.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${n}`,children:[e.value&&I(gt,{children:io(e.value,"yyyy-MM-dd")}),I(Ft,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),I(ue,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:I(ao,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:e.value?new Date(e.value):void 0,onSelect:s=>{e.onChange(s?io(s,"yyyy-MM-dd"):null)},defaultMonth:d,components:{DayContent:t(s=>I(no,{children:s.date.getDate()}),"DayContent")},disabled:s=>!!(d&&s<d||c&&s>c)})})]}),i?fe(w,{children:[i," ",I(G,{helpCenter:o.meta?.helpCenter})]}):null,r.error&&I(T,{className:"RemoteFlows__DatePickerField__Error"})]})}t(lo,"DatePickerFieldDefault");import{jsx as so}from"react/jsx-runtime";function mo({description:e,label:o,name:r,minDate:n,maxDate:l,onChange:i,component:m,...a}){let{components:d}=x(),{control:c}=S(),s;a.meta?.mot&&typeof a.meta.mot=="number"?s=Ee(a.meta.mot):n&&(s=new Date(`${n}T00:00:00`));let p;return l&&(p=new Date(`${l}T23:59:59`)),so(b,{control:c,name:r,render:({field:u,fieldState:h})=>{let f=m||d?.date||lo,C={description:e,label:o,name:r,onChange:i,...s&&{minDate:s.toISOString()},...p&&{maxDate:p.toISOString()},...a};return so(f,{field:{...u,onChange:t(v=>{u.onChange(v),i?.(v)},"onChange")},fieldState:h,fieldData:C})}})}t(mo,"DatePickerField");import{jsx as U,jsxs as ht}from"react/jsx-runtime";function co({field:e,fieldState:o,fieldData:r}){let{name:n,label:l,description:i,multiple:m,accept:a}=r;return ht(N,{"data-field":n,className:`RemoteFlows__FileUpload__Item__${n}`,children:[U(P,{className:"RemoteFlows__FileUpload__Label",children:l}),U(D,{children:U(Le,{onChange:e.onChange,multiple:m,className:_("RemoteFlows__FileUpload__Input"),accept:a,files:e.value})}),i&&U("div",{className:"flex items-center justify-between",children:U(w,{className:"RemoteFlows__FileUpload__Description",children:i})}),o.error&&U(T,{className:"RemoteFlows__FileUpload__Error"})]})}t(co,"FileUploadFieldDefault");import{jsx as po}from"react/jsx-runtime";var _t=t((e,o)=>{if(!o)return null;for(let r of e)if(r.size>o){let n=Math.round(o/1048576),l=Math.round(r.size/(1024*1024));return`File "${r.name}" exceeds maximum size of ${n}MB (file is ${l}MB)`}return null},"validateFileSize");function uo({name:e,description:o,label:r,multiple:n,onChange:l,component:i,accept:m,maxSize:a,...d}){let{components:c}=x(),{control:s,setError:p,clearErrors:u}=S(),h=t(async(g,f)=>{let C=_t(g,a);if(C){p(e,{message:C});return}u(e),f.onChange(g),l?.(g)},"handleOnChange");return po(b,{control:s,name:e,render:({field:g,fieldState:f})=>{let v=i||c?.file||co,k={name:e,description:o,label:r,multiple:n,accept:m,maxFileSize:a,...d};return po(v,{field:{...g,value:g.value,onChange:t(async z=>h(z,g),"onChange")},fieldState:f,fieldData:k})}})}t(uo,"FileUploadField");import{jsx as Ct}from"react/jsx-runtime";function fo({field:e,fieldData:o}){return Ct(L,{type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",...e,...o})}t(fo,"NumberFieldDefault");import{jsx as Fo}from"react/jsx-runtime";function Fe(e){let{components:o}=x(),{control:r}=S(),l=e.component||o?.number||fo;return Fo(b,{control:r,name:e.name,render:({field:i,fieldState:m})=>Fo(l,{field:{...i,onChange:t(a=>{i.onChange(a),e.onChange?.(a)},"onChange")},fieldState:m,fieldData:e})})}t(Fe,"NumberField");import{Fragment as yt}from"react";import{jsx as W,jsxs as ge}from"react/jsx-runtime";var go=t(({field:e,fieldData:o,fieldState:r})=>{let{name:n,label:l,description:i,options:m}=o;return W("fieldset",{className:_("space-y-3",`RemoteFlows__RadioGroupField__Item__${n}`),"data-field":n,children:ge(N,{children:[W("legend",{children:l}),i&&ge(w,{children:[i," ",W(G,{helpCenter:o.meta?.helpCenter})]}),W(D,{children:W(Be,{"aria-label":l||n,onValueChange:a=>{e.onChange(a)},value:e.value,className:"flex flex-col space-y-3",children:m?.map(a=>W(yt,{children:ge(N,{"data-field":n,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[W(D,{children:W(Oe,{value:a.value,className:"RemoteFlows__RadioField__Input",disabled:a.disabled})}),ge("div",{children:[W(P,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:a.label}),a.description&&W(w,{className:"mt-2",children:a.description})]})]})},a.value))})}),r.error&&W(T,{})]})})},"RadioGroupFieldDefault");import{jsx as ho}from"react/jsx-runtime";function _o({name:e,defaultValue:o,description:r,label:n,options:l,onChange:i,component:m,...a}){let{components:d}=x(),{control:c}=S();return ho(b,{control:c,name:e,defaultValue:o,render:({field:s,fieldState:p})=>{let h=m||d?.radio||go,g={name:e,defaultValue:o,description:r,label:n,options:l,...a};return ho(h,{field:{...s,onChange:t(f=>{s.onChange(f),i?.(f)},"onChange")},fieldState:p,fieldData:g})}})}t(_o,"RadioGroupField");import{jsx as E,jsxs as Co}from"react/jsx-runtime";function yo({field:e,fieldState:o,fieldData:r}){let{name:n,label:l,description:i,options:m}=r;return Co(N,{"data-field":n,className:`RemoteFlows__SelectField__Item__${n}`,children:[E(P,{className:"RemoteFlows__SelectField__Label",children:l}),E(D,{children:E("div",{className:"relative",children:Co(Ae,{value:e.value||"",onValueChange:a=>{e.onChange(a)},children:[E(Ge,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!o.error,"aria-label":l,children:E("span",{className:"absolute",children:E(ze,{placeholder:l})})}),E(Ue,{className:"RemoteFlows__SelectField__Content",children:E(Ve,{className:"RemoteFlows__SelectField__Group",children:m?.map(a=>E(Je,{value:a.value,className:"RemoteFlows__SelectField__SelectItem",disabled:a.disabled,children:a.label},a.value))})})]})})}),i&&E(w,{children:i}),o.error&&E(T,{})]})}t(yo,"SelectFieldDefault");import{jsx as vo}from"react/jsx-runtime";function So({label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,component:m,...a}){let{control:d}=S(),{components:c}=x();return vo(b,{defaultValue:n,control:d,name:o,render:({field:s,fieldState:p})=>{let h=m||c?.select||yo,g={label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,...a};return vo(h,{field:{...s,onChange:t(f=>{let C=a.jsonType==="number"?Number(f):f;s.onChange(C),i?.(C)},"onChange")},fieldState:p,fieldData:g})}})}t(So,"SelectField");import{useEffect as Pt,useState as Nt}from"react";import{Fragment as vt,useState as St}from"react";import{Check as xt,ChevronDownIcon as bt,X as kt}from"lucide-react";import{Command as J}from"cmdk";import{SearchIcon as Qn}from"lucide-react";import{jsx as q,jsxs as oa}from"react/jsx-runtime";function xo({className:e,...o}){return q(J,{"data-slot":"command",className:_("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...o})}t(xo,"Command");function bo({className:e,...o}){return q(J.List,{"data-slot":"command-list",className:_("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...o})}t(bo,"CommandList");function ko({...e}){return q(J.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}t(ko,"CommandEmpty");function Po({className:e,...o}){return q(J.Group,{"data-slot":"command-group",className:_("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...o})}t(Po,"CommandGroup");function No({className:e,...o}){return q(J.Separator,{"data-slot":"command-separator",className:_("bg-border -mx-1 h-px",e),...o})}t(No,"CommandSeparator");function Do({className:e,...o}){return q(J.Item,{"data-slot":"command-item",className:_("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o})}t(Do,"CommandItem");import{jsx as $,jsxs as Z}from"react/jsx-runtime";function he({options:e,selected:o,onChange:r,placeholder:n,...l}){let[i,m]=St(!1),a=t(s=>{r(o.filter(p=>p.value!==s.value))},"handleUnselect"),d=e.some(s=>s.category),c=e.reduce((s,p)=>{let u=p.category||"Uncategorized";return s[u]||(s[u]=[]),s[u].push(p),s},{});return Z(ce,{open:i,onOpenChange:m,...l,children:[$(pe,{children:Z(B,{variant:"outline",role:"combobox","aria-expanded":i,className:"w-full justify-between font-normal",type:"button",children:[$("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:o.length>0?o.map(s=>Z(qe,{variant:"secondary",className:"mr-1 mb-1",children:[s.label,$("div",{role:"button",tabIndex:0,"aria-label":`remove ${s.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:p=>{p.key==="Enter"&&a(s)},onMouseDown:p=>{p.preventDefault(),p.stopPropagation()},onClick:()=>a(s),children:$(kt,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},s.label)):$("span",{className:"text-foreground",children:n})}),$(bt,{className:"size-4"})]})}),$(ue,{align:"start",className:"w-full p-0",children:$(xo,{children:Z(bo,{children:[$(ko,{children:"No item found."}),Object.entries(c).map(([s,p],u)=>Z(vt,{children:[u>0&&$(No,{}),$(Po,{heading:d?s:void 0,children:p.map(h=>{let g=o.some(f=>f.value===h.value);return Z(Do,{onSelect:()=>{r(g?o.filter(f=>f.value!==h.value):[...o,h])},children:[$(xt,{className:_("mr-2 h-4 w-4",g?"opacity-100":"opacity-0")}),h.label]},h.label)})})]},s))]})})})]})}t(he,"MultiSelect");import{jsx as oe,jsxs as wo}from"react/jsx-runtime";function To({field:e,fieldState:o,fieldData:r}){let[n,l]=Nt([]),i=t(a=>{let d=a.map(({value:c})=>c);e.onChange(d),l(a)},"handleChange");Pt(()=>{e.value&&r.options&&l(e.value.map(a=>r?.options?.find(d=>d.value===a)))},[e.value,r.options]);let m=[...Object.entries(r.$meta?.regions||{}).map(([a,d])=>({value:d,label:a,category:"Regions"})),...Object.entries(r.$meta?.subregions||{}).map(([a,d])=>({value:d,label:a,category:"Subregions"})),...r.options?.map(a=>({...a,value:a.value,label:a.label,category:"Countries"}))||[]];return wo(N,{"data-field":e.name,className:`RemoteFlows__CountryField__Item__${e.name}`,children:[oe(P,{className:"RemoteFlows__CountryField__Label",children:r.label}),oe(D,{children:oe(he,{options:m,selected:n,onChange:i})}),r.description&&wo(w,{children:[r.description," ",oe(G,{helpCenter:r.meta?.helpCenter})]}),o.error&&oe(T,{})]})}t(To,"CountryFieldDefault");import{jsx as Ro}from"react/jsx-runtime";function $o({label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,$meta:m,component:a,...d}){let{control:c}=S(),{components:s}=x();return Ro(b,{defaultValue:n,control:c,name:o,render:({field:p,fieldState:u})=>{let g=a||s?.countries||To,f={label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,$meta:m,...d};return Ro(g,{field:{...p,onChange:t(C=>{p.onChange(C),i?.(C)},"onChange")},fieldState:u,fieldData:f})}})}t($o,"CountryField");import*as Mo from"react";import{jsx as Dt}from"react/jsx-runtime";var be=Mo.forwardRef(({className:e,...o},r)=>Dt("textarea",{className:_("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...o}));be.displayName="Textarea";import{jsx as te,jsxs as ke}from"react/jsx-runtime";function Io({field:e,fieldState:o,fieldData:r}){let{name:n,label:l,description:i,maxLength:m}=r,a=e.value?.length??0;return ke(N,{"data-field":n,className:`RemoteFlows__TextArea__Item__${n}`,children:[te(P,{className:"RemoteFlows__TextArea__Label",children:l}),te(D,{children:te(be,{...e,value:e.value??"",onChange:d=>{e.onChange(d)},className:_(o.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:l})}),(i||m)&&ke("div",{className:"flex items-center justify-between",children:[i&&te(w,{className:"RemoteFlows__TextArea__Description",children:i}),m&&ke("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[a,"/",m]})]}),o.error&&te(T,{className:"RemoteFlows__TextArea__Error"})]})}t(Io,"TextAreaFieldDefault");import{jsx as Wo}from"react/jsx-runtime";function Eo({name:e,description:o,label:r,onChange:n,maxLength:l,component:i,...m}){let{components:a}=x(),{control:d}=S();return Wo(b,{control:d,name:e,render:({field:c,fieldState:s})=>{let u=i||a?.textarea||Io,h={name:e,description:o,label:r,maxLength:l,...m};return Wo(u,{field:{...c,onChange:t(g=>{c.onChange(g),n?.(g)},"onChange")},fieldState:s,fieldData:h})}})}t(Eo,"TextAreaField");import{jsx as wt}from"react/jsx-runtime";function Ho({field:e,fieldData:o}){return wt(L,{name:e.name,...o,type:"email"})}t(Ho,"EmailFieldDefault");import{jsx as Lo}from"react/jsx-runtime";function Bo(e){let{components:o}=x(),{control:r}=S(),l=e.component||o?.email||Ho;return Lo(b,{control:r,name:e.name,render:({field:i,fieldState:m})=>Lo(l,{field:{...i,onChange:t(a=>{i.onChange(a),e.onChange?.(a)},"onChange")},fieldState:m,fieldData:e})})}t(Bo,"EmailField");import{jsx as Oo}from"react/jsx-runtime";function Ao(e){let{control:o}=S();return Oo(b,{control:o,name:e.name,render:({field:r})=>Oo("input",{...r,type:"hidden"})})}t(Ao,"HiddenField");import{useEffect as At,useState as Vt}from"react";import Vo from"lodash.groupby";import K from"lodash.capitalize";var zo=60,_e=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function Tt(e){if(e<60)return`${e}m`;let o=Math.floor(e/zo),r=e%zo;return r>0?`${o}h${r}m`:`${o}h`}t(Tt,"convertBreakDurationToHours");function Go(e){let o=e.reduce((r,n)=>n.hours+r,0);return Number(o.toFixed(2))}t(Go,"calculateTotalWorkHours");function Rt(e,o){let r=o.map(({day:i})=>i.toLowerCase()),n=r.indexOf(e),l=null;for(;n<r.length&&!l;){let i=r[n],m=r[n+1],a=_e.indexOf(i)+1;_e[a]===m||(l=i),n+=1}return l}t(Rt,"findLastConsecutiveDay");function $t(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}t($t,"shouldSummarizeSchedule");function Mt(e){return Number.parseInt(e.break_duration_minutes)>0}t(Mt,"shouldSummarizeBreaks");function Uo(e){let o=e.filter($t),r=Vo(o,a=>`${a.start_time}|${a.end_time}`),n=e.filter(Mt),l=Vo(n,"break_duration_minutes"),i=Object.keys(r).map(a=>{let d=r[a],c=d[0].day,[s,p]=a.split("|"),u=`from <span>${s.replace(":","h")}</span> to <span>${p.replace(":","h")}</span>`,h=Rt(c,d),f=(h?d.findIndex(C=>C.day===h):-1)===d.length-1;return d.length===1?`${K(c)}, ${u}`:!f||!h?d.reduce((C,v,k)=>{let z=K(v.day);return k===d.length-1?`${C}and ${z}, ${u}`:`${C}<span>${z}</span>, `},""):`<span>${K(c)}</span> to <span>${K(h)}</span>, ${u}`}),m=Object.keys(l).reverse().map((a,d)=>{let c=d===0,s=l[a],p=Tt(parseInt(a,10));if(Object.keys(l).length===1)return`With ${p} daily breaks`;if(s.length===1){let u=`${p} break on ${K(s[0].day)}.`;return c?`With ${u}`:u}return s.reduce((u,h,g)=>{let f=K(h.day);return g===0?`${u} ${f}`:g===s.length-1?`${u}, and ${f}.`:`${u}, ${f}`},c?`With ${p} break on`:`${p} break on`)});return{workHoursSummary:i,breakSummary:m}}t(Uo,"buildWorkScheduleSummary");function Pe(e){let{checked:o,start_time:r,end_time:n,break_duration_minutes:l}=e;if(!o)return 0;let[i,m]=r.split(":").map(Number),[a,d]=n.split(":").map(Number),c=i*60+m,u=(a*60+d-c-Number.parseInt(l||"0"))/60;return u===Math.floor(u)?u:Number(u.toFixed(2))}t(Pe,"calculateHours");var It={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function Ce(e){return It[e]}t(Ce,"getShortWeekday");import*as R from"yup";var Jo=t((e,o,r)=>{if(e&&"reportValidity"in e){let n=ie(r,o);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},"r"),Ne=t((e,o)=>{for(let r in o.fields){let n=o.fields[r];n&&n.ref&&"reportValidity"in n.ref?Jo(n.ref,r,e):n&&n.refs&&n.refs.forEach(l=>Jo(l,r,e))}},"o"),Zo=t((e,o)=>{o.shouldUseNativeValidation&&Ne(e,o);let r={};for(let n in e){let l=ie(o.fields,n),i=Object.assign(e[n]||{},{ref:l&&l.ref});if(Wt(o.names||Object.keys(e),n)){let m=Object.assign({},ie(r,n));le(m,"root",i),le(r,n,m)}else le(r,n,i)}return r},"s"),Wt=t((e,o)=>{let r=qo(o);return e.some(n=>qo(n).match(`^${r}\\.\\d+`))},"i");function qo(e){return e.replace(/\]|\[/g,"")}t(qo,"n");function Ko(e,o,r){return o===void 0&&(o={}),r===void 0&&(r={}),function(n,l,i){try{return Promise.resolve((function(m,a){try{var d=(o.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[r.mode==="sync"?"validateSync":"validate"](n,Object.assign({abortEarly:!1},o,{context:l}))).then(function(c){return i.shouldUseNativeValidation&&Ne({},i),{values:r.raw?Object.assign({},n):c,errors:{}}}))}catch(c){return a(c)}return d&&d.then?d.then(void 0,a):d})(0,function(m){if(!m.inner)throw m;return{values:{},errors:Zo((a=m,d=!i.shouldUseNativeValidation&&i.criteriaMode==="all",(a.inner||[]).reduce(function(c,s){if(c[s.path]||(c[s.path]={message:s.message,type:s.type}),d){var p=c[s.path].types,u=p&&p[s.type];c[s.path]=Me(s.path,d,c,s.type,u?[].concat(u,s.message):s.message)}return c},{})),i)};var a,d}))}catch(m){return Promise.reject(m)}}}t(Ko,"o");import{Fragment as Et,useState as Ht}from"react";import{jsx as y,jsxs as M}from"react/jsx-runtime";var Lt=R.object({day:R.string().required(),checked:R.boolean().required(),start_time:R.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:t(e=>e.required("Required"),"then"),otherwise:t(e=>e.optional().nullable(),"otherwise")}),end_time:R.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:t(e=>e.required("Required"),"then"),otherwise:t(e=>e.optional().nullable(),"otherwise")}),hours:R.number().default(0),break_duration_minutes:R.string().default("0")}),Bt=R.object({schedule:R.array(Lt)});function Ot({defaultSchedule:e,onSubmit:o}){let[r,n]=Ht(!1),l=_e.map(f=>{let C=e.find(v=>v.day.toLowerCase()===Ce(f).toLowerCase()||v.day.toLowerCase()===f.toLowerCase());return C?{...C,day:Ce(f),checked:!0}:{...e[0],checked:!1,day:Ce(f)}}),i=We({defaultValues:{schedule:l},resolver:Ko(Bt)}),{handleSubmit:m,watch:a,reset:d,control:c,formState:s}=i,{fields:p}=Ie({name:"schedule",control:c}),u=a("schedule");function h(f){let C=f.schedule.filter(({checked:v})=>v).map(v=>({...v,hours:Pe(v)}));o(C),n(!1)}t(h,"handleSubmitWorkingHours");function g(){d(),n(!1)}return t(g,"handleCancel"),y("div",{className:"flex items-center justify-between",children:M(Ze,{open:r,onOpenChange:n,children:[y(Ke,{asChild:!0,children:y(B,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),M(Ye,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[y(Xe,{children:y(Qe,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),y(He,{...i,children:M("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[M("div",{className:"rounded-lg",children:[y("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),M("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[y("div",{className:"col-span-2"}),y("div",{className:"col-span-3 text-center",children:"START"}),y("div",{className:"col-span-1 text-center"}),y("div",{className:"col-span-3 text-center",children:"END"}),y("div",{className:"col-span-2 text-center",children:"HOURS"})]}),y("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:p.map((f,C)=>{let v=u[C],k=Pe(v);return M(Et,{children:[M("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[y("div",{className:"col-span-2 flex items-center gap-3",children:y(me,{label:f.day,name:`schedule.${C}.checked`})}),y("div",{className:"col-span-3",children:y(L,{name:`schedule.${C}.start_time`,includeErrorMessage:!1})}),y("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),y("div",{className:"col-span-3",children:y(L,{name:`schedule.${C}.end_time`,includeErrorMessage:!1})}),y("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(k)?"-":`${k} hours`})]}),M("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[y("div",{className:"col-span-2 text-gray-500",children:"Break"}),y("div",{className:"col-span-2",children:y(L,{name:`schedule.${C}.break_duration_minutes`,includeErrorMessage:!1})}),y("div",{className:"col-span-2 text-gray-500",children:"minutes"}),y("div",{className:"col-span-4"})]})]},f.id)})})]}),Object.keys(s.errors).length>0&&y("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),M("div",{className:"flex gap-4 pt-4",children:[y(B,{type:"button",className:"reset-button",variant:"outline",onClick:g,children:"Cancel"}),y(B,{type:"button",className:"submit-button",onClick:m(h),children:"Save Schedule"})]})]})})]})]})})}t(Ot,"WorkScheduleSelectionForm");var Yo=t(({fieldData:e})=>{let{defaultFormattedValue:o,currentSchedule:r,onSubmit:n}=e,{workHoursSummary:l,breakSummary:i,totalWorkHours:m}=o;return M("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[y("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),M("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[y("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:l.join(", ")}}),y("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:i.join()}),M("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",y("span",{children:m})," hours per week"]}),y(Ot,{defaultSchedule:r,onSubmit:n})]})]})},"WorkScheduleFieldDefault");import{jsx as Xo}from"react/jsx-runtime";function Qo(e){let{components:o}=x(),{setValue:r,control:n,watch:l}=S(),i=l(e.name),[m,a]=Vt(i),{workHoursSummary:d,breakSummary:c}=Uo(m),s=Go(m);At(()=>{r(e.name,m)},[m,e.name,r]);function p(f){a(f)}t(p,"onSubmit");let h=e.component||o?.["work-schedule"]||Yo,g={...e,onSubmit:p,currentSchedule:m,defaultFormattedValue:{workHoursSummary:d,breakSummary:c,totalWorkHours:s}};return Xo(b,{control:n,name:e.name,render:({field:f,fieldState:C})=>Xo(h,{field:{...f,onChange:t(v=>{f.onChange(v),e.onChange?.(v)},"onChange")},fieldState:C,fieldData:g})})}t(Qo,"WorkScheduleField");import{useEffect as zt,useState as Gt}from"react";import{jsx as re,jsxs as Ut}from"react/jsx-runtime";var jo=t(({field:e,fieldState:o,fieldData:r})=>{let[n,l]=Gt([]),{name:i,label:m,description:a,options:d}=r,c=n||d?.filter(s=>e.value?.includes(s.value));return zt(()=>{l(d?.filter(s=>e.value?.includes(s.value))||[])},[e.value,d]),Ut(N,{"data-field":i,className:`RemoteFlows__SelectField__Item__${i}`,children:[re(P,{className:"RemoteFlows__SelectField__Label",children:m}),re(D,{children:re(he,{options:d||[],selected:c,onChange:s=>{let p=s.map(({value:u})=>u);e.onChange(p),l(s)}})}),a&&re(w,{children:a}),o.error&&re(T,{})]})},"MultiSelectFieldDefault");import{jsx as et}from"react/jsx-runtime";function ot({label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,component:m,...a}){let{control:d}=S(),{components:c}=x();return et(b,{defaultValue:n,control:d,name:o,render:({field:s,fieldState:p})=>{let h=m||c?.["multi-select"]||jo,g={label:e,name:o,options:r,defaultValue:n,description:l,onChange:i,...a};return et(h,{field:{...s,onChange:t(f=>{s.onChange(f),i?.(f)},"onChange")},fieldState:p,fieldData:g})}})}t(ot,"MultiSelectField");import{jsx as Jt}from"react/jsx-runtime";var tt=t(e=>Jt(Fe,{maxLength:15,...e}),"MoneyField");var De={checkbox:me,text:L,email:Bo,money:tt,select:So,"multi-select":ot,radio:_o,number:Fe,file:uo,date:mo,textarea:Eo,countries:$o,hidden:Ao,"work-schedule":Qo};import{AlertCircle as qt}from"lucide-react";import{jsx as we,jsxs as Zt}from"react/jsx-runtime";function rt({data:e}){let{title:o,description:r,severity:n}=e,i={warning:"warning",error:"destructive",info:"default",success:"warning"}[n]??"warning";return Zt(je,{variant:i,children:[we(qt,{className:"h-4 w-4"}),o&&we(eo,{dangerouslySetInnerHTML:{__html:o}}),r&&we(oo,{dangerouslySetInnerHTML:{__html:r}})]})}t(rt,"StatementDefault");import{jsx as Kt}from"react/jsx-runtime";function nt({title:e,description:o,severity:r}){let{components:n}=x(),l=n?.statement??rt;return Kt(l,{data:{title:e?j(e):void 0,description:j(o),severity:r}})}t(nt,"Statement");import{jsx as Yt}from"react/jsx-runtime";var at=t(({isExpanded:e,onToggle:o,className:r,...n})=>Yt(B,{type:"button",className:_("RemoteFlows__Button RemoteFlows__FieldSetField__ToggleButton",r),variant:"default",onClick:o,...n,children:e?"Remove":"Define"}),"FieldsetToggleButtonDefault");import{Fragment as jt,jsx as H,jsxs as V}from"react/jsx-runtime";function lt({label:e,name:o,fields:r,description:n,components:l,statement:i,isFlatFieldset:m,extra:a,variant:d="outset",features:c,meta:s}){let{helpCenter:p}=s||{},{watch:u,setValue:h,trigger:g,formState:f}=S(),{components:C}=x(),v=c?.toggle?.stateField,k=v?u(v):c?.toggle?.defaultExpanded??!0,z=r.map(({name:F})=>`${o}.${F}`),ne=u(z),Te=it(ne),Y=it(null),st=t(()=>{v&&h(v,!k)},"toggleExpanded");Qt(()=>{let F=ne,X=Te.current,ye=f.isSubmitted||f.submitCount>0,ae=!1;for(let Q=0;Q<F.length;Q++)if(F[Q]!==void 0&&X[Q]!==F[Q]){ae=!0;break}return ae&&ye&&(Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{g()},50)),Te.current=[...F],()=>{Y.current&&clearTimeout(Y.current)}},[ne,g,f.isSubmitted,f.submitCount]);let mt=C?.fieldsetToggle||at,Re=`${o}-content`,$e=`${o}-header`;return V("fieldset",{className:_("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[H("legend",{className:_("text-sm font-semibold px-2",d==="inset"&&"hidden"),children:e}),p?.callToAction&&p?.id&&d==="outset"&&H(ee,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction}),d==="inset"&&V(jt,{children:[V("div",{className:"RemoteFlows__FieldSetField__Header",id:$e,"data-state":k?"expanded":"collapsed","aria-expanded":k,children:[H("h3",{className:_("RemoteFlows__FieldSetField__Title"),children:e}),c?.toggle?.enabled&&H(mt,{isExpanded:k,onToggle:st,"aria-expanded":k,"aria-controls":Re,"aria-label":`${k?"Hide":"Show"} ${e}`,className:_("RemoteFlows__FieldSetField__Toggle",c.toggle?.className),children:k?c.toggle.labels?.collapse??"Remove":c.toggle.labels?.expand??"Define"})]}),p?.callToAction&&p?.id&&H(ee,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction})]}),k&&V("div",{id:Re,"aria-labelledby":$e,role:"region",children:[n?H("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:j(n)}}):null,V("div",{className:"grid gap-4",children:[r.map(F=>{if(F.calculateDynamicProperties&&(F={...F,...F.calculateDynamicProperties(ne,F)||{}}),F.isVisible===!1||F.deprecated)return null;if(F.inputType==="fieldset")return H(lt,{...F,name:`${m?F.name:`${o}.${F.name}`}`,components:l},`${m?F.name:`${o}.${F.name}`}`);if(F.inputType==="fieldset-flat")return H(lt,{...F,name:`${m?F.name:`${o}.${F.name}`}`,components:l,isFlatFieldset:!0},`${m?F.name:`${o}.${F.name}`}`);let X=De[F.inputType];if(F.Component){let{Component:ye}=F;return H(ye,{setValue:ae=>h(m?F.name:`${o}.${F.name}`,ae),...F},F.name)}return X?(F.inputType==="select"&&F.multiple&&(X=De["multi-select"]),V(Xt,{children:[H(X,{...F,name:`${m?F.name:`${o}.${F.name}`}`,component:l?.[F.inputType]}),F.extra?F.extra:null]},`${m?F.name:`${o}.${F.name}`}`)):V("p",{className:"error",children:["Field type ",F.inputType," not supported"]})}),a||null,i?H(nt,{...i}):null]})]})]})}t(lt,"FieldSetField");export{De as a,nt as b,lt as c};
2
+ //# sourceMappingURL=chunk-NHREKNSV.js.map
@@ -1,2 +1,2 @@
1
- import{b as y}from"./chunk-PGWKJ6FK.js";import{a as u}from"./chunk-BB2GHYJY.js";import{b as c}from"./chunk-LNV36S6D.js";import{b as F}from"./chunk-2YTBWEC7.js";import{f,g as p}from"./chunk-CR7AIZKA.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as S}from"react";import{jsx as b}from"react/jsx-runtime";import{createElement as V}from"react";function N({defaultValues:d,onSubmit:g,components:E}){let{formId:w,onboardingBag:o}=y(),k=c(o.handleValidation),r=f({resolver:k,defaultValues:d,shouldUnregister:!1,mode:"onBlur"});S(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),S(()=>{let t=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==d[i])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let h=m(async(t,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:i,onError:l}=s.draftCallbacks;try{if(!await r.trigger())return;let n=await o.onSubmit(t);if(n?.data)i?.();else if(n?.error){let P=o.stepState.currentStep.name,B=o.meta?.fields?.[P],O=F(n?.fieldErrors||[],B);l?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){l?.({error:a,rawError:a,fieldErrors:[]})}}else await g(t)},"handleSubmit");return V(p,{...r,key:`form-${o.stepState.currentStep.name}`},b("form",{id:w,onSubmit:r.handleSubmit(h),className:"space-y-4 RemoteFlows__OnboardingForm",children:b(u,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}m(N,"OnboardingForm");export{N as a};
2
- //# sourceMappingURL=chunk-SRR73QPD.js.map
1
+ import{b as y}from"./chunk-PGWKJ6FK.js";import{a as u}from"./chunk-4FW2VTO4.js";import{b as c}from"./chunk-LNV36S6D.js";import{b as F}from"./chunk-2YTBWEC7.js";import{f,g as p}from"./chunk-CR7AIZKA.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as S}from"react";import{jsx as b}from"react/jsx-runtime";import{createElement as V}from"react";function N({defaultValues:d,onSubmit:g,components:E}){let{formId:w,onboardingBag:o}=y(),k=c(o.handleValidation),r=f({resolver:k,defaultValues:d,shouldUnregister:!1,mode:"onBlur"});S(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),S(()=>{let t=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==d[i])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let h=m(async(t,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:i,onError:l}=s.draftCallbacks;try{if(!await r.trigger())return;let n=await o.onSubmit(t);if(n?.data)i?.();else if(n?.error){let P=o.stepState.currentStep.name,B=o.meta?.fields?.[P],O=F(n?.fieldErrors||[],B);l?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){l?.({error:a,rawError:a,fieldErrors:[]})}}else await g(t)},"handleSubmit");return V(p,{...r,key:`form-${o.stepState.currentStep.name}`},b("form",{id:w,onSubmit:r.handleSubmit(h),className:"space-y-4 RemoteFlows__OnboardingForm",children:b(u,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}m(N,"OnboardingForm");export{N as a};
2
+ //# sourceMappingURL=chunk-NPKIEWF4.js.map
@@ -0,0 +1,2 @@
1
+ import{a as Be}from"./chunk-VAIBLWOY.js";import{a as De}from"./chunk-WO33FKK4.js";import{a as Ve,b as xe,c as Pe,f as Oe,g as Me,h as Te,i as we,j as Re,k as Le,m as ve}from"./chunk-N3X274GT.js";import{a as ge,b as Ee,c as Ce,d as Fe,f as he}from"./chunk-H6YNMT4M.js";import{a as L}from"./chunk-2YTBWEC7.js";import{a as ke}from"./chunk-5BRMLRS7.js";import{d as P,e as R,g as $}from"./chunk-HRG5MSVG.js";import{g as O}from"./chunk-UQCSN47K.js";import{a as o}from"./chunk-P37U34EQ.js";import{useCallback as gt,useEffect as Et,useMemo as p,useRef as Ct,useState as Ae}from"react";import Ft from"lodash.mergewith";import{createContext as mt,useContext as ft,useMemo as pt,useCallback as yt,useRef as _t}from"react";import{jsx as St}from"react/jsx-runtime";var qe=mt(void 0);function Tt({children:r}){let u=_t({}),c=yt(i=>{u.current={...u.current,...i}},[]),E=pt(()=>({errorContextRef:u,updateContext:c}),[c]);return St(qe.Provider,{value:E,children:r})}o(Tt,"ErrorContextProvider");var Je=o(()=>{let r=ft(qe);if(!r)throw new Error("useErrorContext must be used within ErrorContextProvider");return r},"useErrorContext");import{useEffect as je,useMemo as bt}from"react";function Ne(r){let{updateContext:u,errorContextRef:c}=Je();return je(()=>{r&&(c.current=r)},[]),je(()=>()=>{c.current={}},[c]),{...bt(()=>({updateErrorContext:o(i=>{u(i)},"updateErrorContext"),clearErrorContext:o(()=>{c.current={}},"clearErrorContext")}),[]),errorContext:c}}o(Ne,"useErrorReporting");import{jsx as Ie}from"react/jsx-runtime";var ht={employment_basic_information:"basic_information",contract_details:"contract_details"},Vt={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},xt=o(({isLoadingBasicInformationForm:r,isLoadingContractDetailsForm:u,isLoadingEmployment:c,isLoadingBenefitsOffersSchema:E,isLoadingBenefitOffers:i,isLoadingCompany:N,isLoadingCountries:M,employmentStatus:s,employmentId:v,currentStepName:A,basicInformationFields:I,contractDetailsFields:y})=>{let t=r||u||c||E||i||N||M,k=s&&Ce.includes(s),U=s&&!Fe.includes(s),D=!!(v&&k&&A!=="review"),T=t||D,B=!!(D&&!t&&I.length>0&&y.length>0);return{isLoading:T,isNavigatingToReview:B,isEmploymentReadOnly:k,canInvite:U}},"getLoadingStates"),Kt=o(({employmentId:r,companyId:u,countryCode:c,type:E,options:i,skipSteps:N,externalId:M,initialValues:s})=>{let{updateErrorContext:v}=Ne({flow:"onboarding",metadata:{employmentId:r,companyId:u,isUpdating:!!r}}),A=N?.includes("select_country")?Ee:ge,I=gt(e=>{v({step:e.name})},[v]),{fieldValues:y,stepState:t,setFieldValues:k,previousStep:U,nextStep:D,goToStep:T,setStepValues:B}=ke(A,I),q=Ct({select_country:{},basic_information:{},contract_details:{},benefits:{}}),[d,Ue]=Ae(r),[l,z]=Ae(c||null),{data:m,isLoading:K,refetch:He}=Ve(d);r&&m?.country?.code&&!l&&z(m.country.code);let{data:Y,isLoading:Q}=Pe(d),{data:J,isLoading:X,refetch:We}=xe(u),{selectCountryForm:j,isLoading:Z}=Le({jsfModify:i?.jsfModify?.select_country,queryOptions:{enabled:t.currentStep.name==="select_country"}}),ee=Te(),te=we(l,i),ne=Re(i),oe=ve(),{mutateAsync:Ge}=L(ee),{mutateAsync:re}=L(te),{mutateAsync:$e}=L(ne),{mutateAsync:ze}=L(oe),Ke=Vt[t.currentStep.name]||"employment_basic_information",Ye=ht[Ke],Qe=m?.[Ye]||{},ie=o(({form:e,options:a={},query:f={},jsonSchemaVersion:x})=>{let W=Object.keys(y).length>0?{...s,...t.values?.[t.currentStep.name],...y}:{...s,...Qe};return Oe({countryCode:l,form:e,fieldValues:W,query:f,options:{...a,queryOptions:{enabled:a.queryOptions?.enabled??!0}},jsonSchemaVersion:x})},"useJSONSchema"),Xe=!!(l&&(t.currentStep.name==="basic_information"||r)),Ze=!!(l&&(t.currentStep.name==="contract_details"||r)),{data:_,isLoading:ae}=ie({form:"employment_basic_information",options:{jsfModify:i?.jsfModify?.basic_information,queryOptions:{enabled:Xe}}}),C=i?.jsfModify?.contract_details?.fields?.annual_gross_salary,H=C&&typeof C=="object"&&"presentation"in C?C.presentation:void 0,se=i?.jsfModify?.contract_details?.fields?.equity_compensation,et=p(()=>({fields:{annual_gross_salary:{...C,presentation:{annual_gross_salary_conversion_properties:{label:H?.annual_gross_salary_conversion_properties?.label,description:H?.annual_gross_salary_conversion_properties?.description},desiredCurrency:J?.desired_currency,Component:o(e=>Ie(De,{desiredCurrency:J?.desired_currency||"",...e}),"Component")}},equity_compensation:{...se,presentation:{calculateDynamicProperties:o((e,a)=>{let f=e.equity_compensation?.offer_equity_compensation,x=a?.meta?.cost;return{extra:Ie(Be,{offerEquity:f,equityCost:x})}},"calculateDynamicProperties")}}}}),[C,H,J?.desired_currency,se]),tt=he(i,l),{data:S,isLoading:ce}=ie({form:"contract_details",query:{employment_id:d},options:{jsfModify:{...i?.jsfModify?.contract_details,fields:{...i?.jsfModify?.contract_details?.fields,...et.fields}},queryOptions:{enabled:Ze}},jsonSchemaVersion:tt}),{data:w,isLoading:le}=Me(d,y,i),de=p(()=>{if(t.currentStep.name==="benefits"){let e={...t.values?.[t.currentStep.name],...y};return Ft({},Y,e)}return{}},[t.currentStep.name,Y,t.values,y]),n=p(()=>({select_country:j?.fields||[],basic_information:_?.fields||[],contract_details:S?.fields||[],benefits:w?.fields||[],review:[]}),[j?.fields,_?.fields,S?.fields,w?.fields]),nt={select_country:null,basic_information:_?.meta["x-jsf-fieldsets"],contract_details:S?.meta["x-jsf-fieldsets"],benefits:null,review:null},{country:ot,basic_information:ue={},contract_details:me={},status:fe}=m||{},pe=ot?.code,ye=t.currentStep.name,F=p(()=>R(n.select_country,{country:l||pe||""}),[n.select_country,l,pe]),h=p(()=>{let e={...s,...ue};return R(n.basic_information,e)},[n.basic_information,ue,s]),g=p(()=>{let e={...s,...me};return R(n.contract_details,e)},[n.contract_details,me,s]),V=p(()=>{let e={...s,...de};return R(n.benefits,e)},[n.benefits,de,s]),rt=p(()=>m?{select_country:F,basic_information:$(n.basic_information,h),contract_details:m?.contract_details!==null?$(n.contract_details,g):g,benefits:V}:{select_country:F,basic_information:h,contract_details:g,benefits:V},[F,h,g,V,m,n]),{isLoading:it,isNavigatingToReview:_e,isEmploymentReadOnly:at,canInvite:st}=p(()=>xt({isLoadingBasicInformationForm:ae,isLoadingContractDetailsForm:ce,isLoadingEmployment:K,isLoadingBenefitsOffersSchema:le,isLoadingBenefitOffers:Q,isLoadingCompany:X,isLoadingCountries:Z,employmentId:r,employmentStatus:fe,basicInformationFields:n.basic_information,contractDetailsFields:n.contract_details,currentStepName:ye}),[ae,ce,K,le,Q,X,Z,r,fe,n.basic_information,n.contract_details,ye]);Et(()=>{_e&&(q.current={select_country:O(F,n.select_country),basic_information:O(h,n.basic_information),contract_details:O(g,n.contract_details),benefits:O(V,n.benefits)},B({select_country:F,basic_information:h,contract_details:g,benefits:V,review:{}}),T("review"))},[h,V,g,T,_e,F,B,n.basic_information,n.benefits,n.contract_details,n.select_country]);let Se=o(async e=>j&&t.currentStep.name==="select_country"?e:_&&t.currentStep.name==="basic_information"?await P(e,_?.fields,{isPartialValidation:!1}):S&&t.currentStep.name==="contract_details"?await P(e,S?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function ct(e){let a=t.currentStep.name;a in q.current&&(q.current[a]=O(e,n[a]));let f=await Se(e);switch(We(),t.currentStep.name){case"select_country":return z(f.country),Promise.resolve({data:{countryCode:f.country}});case"basic_information":{let x=!d&&l,be=d&&l&&m?.country&&m?.country.code!==l;if(x||be){let W={basic_information:f,type:E,country_code:l,external_id:M};try{let b=await Ge(W);if(b.error)return b;if(b.data){let G=b.data?.data?.employment?.id;return G&&(Ue(G),await ze({employmentId:G,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1})),b}}catch(b){throw console.error("Error creating onboarding:",b),b}}else if(d)return re({employmentId:d,basic_information:f,pricing_plan_details:{frequency:"monthly"},external_id:M});return}case"contract_details":return re({employmentId:d,external_id:M,...{contract_details:f,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return $e({employmentId:d,...e})}}o(ct,"onSubmit");function lt(){U()}o(lt,"back");function dt(){D()}o(dt,"next");function ut(e){T(e)}return o(ut,"goTo"),{employmentId:d,creditRiskStatus:J?.default_legal_entity_credit_risk_status,fieldValues:y,stepState:t,fields:n[t.currentStep.name],isLoading:it,isSubmitting:ee.isPending||te.isPending||ne.isPending||oe.isPending,initialValues:rt,handleValidation:o(async e=>{if(t.currentStep.name==="select_country")return j.handleValidation(e);if(t.currentStep.name==="benefits"&&w){let a=await P(e,w?.fields,{isPartialValidation:!1});return w?.handleValidation(a)}if(_&&t.currentStep.name==="basic_information"){let a=await P(e,_?.fields,{isPartialValidation:!1});return _?.handleValidation(a)}if(S&&t.currentStep.name==="contract_details"){let a=await P(e,S?.fields,{isPartialValidation:!1});return S?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:k,parseFormValues:Se,onSubmit:ct,back:lt,next:dt,goTo:ut,meta:{fields:q.current,fieldsets:nt[t.currentStep.name]},refetchEmployment:He,employment:m,isEmploymentReadOnly:at,canInvite:st}},"useOnboarding");export{qe as a,Tt as b,Kt as c};
2
+ //# sourceMappingURL=chunk-OFWEEY3Y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/hooks.tsx","../src/components/error-handling/ErrorContext.tsx","../src/components/error-handling/useErrorReporting.ts"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmployment,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const onStepChange = useCallback(\n (step: Step<keyof typeof STEPS>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n onStepChange,\n );\n\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n benefits: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n });\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmployment(internalEmploymentId);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n\n const parsedValues = await parseFormValues(values);\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...values,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: keyof typeof STEPS) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n };\n};\n","import {\n createContext,\n useContext,\n ReactNode,\n useMemo,\n useCallback,\n useRef,\n RefObject,\n} from 'react';\nimport type { ErrorContextData } from './types';\n\nexport type ErrorContextValue = {\n errorContextRef: RefObject<ErrorContextData>;\n updateContext: (updates: Partial<ErrorContextData>) => void;\n};\n\nexport const ErrorContext = createContext<ErrorContextValue | undefined>(\n undefined,\n);\n\nexport function ErrorContextProvider({ children }: { children: ReactNode }) {\n const errorContextRef = useRef<ErrorContextData>({});\n\n const updateContext = useCallback((updates: Partial<ErrorContextData>) => {\n errorContextRef.current = { ...errorContextRef.current, ...updates };\n }, []);\n\n // Memoize the value object to prevent unnecessary re-renders\n // Note: setContext is stable from useState and doesn't need to be in deps\n const value = useMemo(\n () => ({\n errorContextRef,\n updateContext,\n }),\n [updateContext],\n );\n\n return (\n <ErrorContext.Provider value={value}>{children}</ErrorContext.Provider>\n );\n}\n\nexport const useErrorContext = () => {\n const ctx = useContext(ErrorContext);\n if (!ctx) {\n throw new Error('useErrorContext must be used within ErrorContextProvider');\n }\n return ctx;\n};\n","import { useErrorContext } from '@/src/components/error-handling/ErrorContext';\nimport { ErrorContextData } from '@/src/components/error-handling/types';\nimport { useEffect, useMemo } from 'react';\n\nexport function useErrorReporting(initialContext: ErrorContextData) {\n const { updateContext, errorContextRef } = useErrorContext();\n\n // Set initial context on mount\n useEffect(() => {\n if (initialContext) {\n errorContextRef.current = initialContext;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Clear context on unmount\n useEffect(() => {\n return () => {\n errorContextRef.current = {};\n };\n }, [errorContextRef]);\n\n // Note: setContext and updateContext are stable, don't need to be in deps\n const handlers = useMemo(\n () => ({\n updateErrorContext: (updates: Partial<ErrorContextData>) => {\n updateContext(updates);\n },\n\n clearErrorContext: () => {\n errorContextRef.current = {};\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return {\n ...handlers,\n /**\n * @internal For unit testing only - we access the errorContext in the error boundary directly\n * Use updateErrorContext() and clearErrorContext() handlers instead.\n */\n errorContext: errorContextRef,\n };\n}\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","createContext","useContext","useMemo","useCallback","useRef","jsx","ErrorContext","createContext","ErrorContextProvider","children","errorContextRef","useRef","updateContext","useCallback","updates","value","useMemo","__name","useErrorContext","ctx","useContext","useEffect","useMemo","useErrorReporting","initialContext","updateContext","errorContextRef","useErrorContext","useEffect","useMemo","__name","updates","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","refetchEmployment","useEmployment","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","jsonSchemaVersion","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","useMemo","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","useEffect","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo"]}
@@ -1,2 +1,2 @@
1
- import{b as f}from"./chunk-MRYRNB7Y.js";import{a as F}from"./chunk-BB2GHYJY.js";import{b as a}from"./chunk-LNV36S6D.js";import{f as s,g as l}from"./chunk-CR7AIZKA.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{jsx as r}from"react/jsx-runtime";function A({defaultValues:u,fields:m,onSubmit:d}){let{formId:c,terminationBag:o}=f(),p=a(o.handleValidation),e=s({resolver:p,defaultValues:u,shouldUnregister:!1,mode:"onBlur"});y(()=>{let V=e?.watch(i=>{Object.keys(i).some(n=>i[n]!==o?.initialValues?.[n])&&o?.checkFieldUpdates(i)});return()=>V?.unsubscribe()},[]);let T=m||(o?.fields??[]);return r(l,{...e,children:r("form",{id:c,onSubmit:e.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:r(F,{fields:T})})})}t(A,"TerminationForm");export{A as a};
2
- //# sourceMappingURL=chunk-AD53V4MM.js.map
1
+ import{b as f}from"./chunk-MRYRNB7Y.js";import{a as F}from"./chunk-4FW2VTO4.js";import{b as a}from"./chunk-LNV36S6D.js";import{f as s,g as l}from"./chunk-CR7AIZKA.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{jsx as r}from"react/jsx-runtime";function A({defaultValues:u,fields:m,onSubmit:d}){let{formId:c,terminationBag:o}=f(),p=a(o.handleValidation),e=s({resolver:p,defaultValues:u,shouldUnregister:!1,mode:"onBlur"});y(()=>{let V=e?.watch(i=>{Object.keys(i).some(n=>i[n]!==o?.initialValues?.[n])&&o?.checkFieldUpdates(i)});return()=>V?.unsubscribe()},[]);let T=m||(o?.fields??[]);return r(l,{...e,children:r("form",{id:c,onSubmit:e.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:r(F,{fields:T})})})}t(A,"TerminationForm");export{A as a};
2
+ //# sourceMappingURL=chunk-OXOK5PM3.js.map
@@ -1,2 +1,2 @@
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
+ import{a}from"./chunk-NPKIEWF4.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-PSHPB65F.js.map
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-AD53V4MM.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function F({onSubmit:n,onSuccess:s,onError:m}){let{terminationBag:o}=e(),d=r(async a=>{let l=await o?.parseFormValues(a,!0);await n?.(l);let i=await o?.onSubmit(a);i?.error?m?.(i.error):i?.data&&await s?.(i.data)},"handleSubmit");return f(t,{defaultValues:o.fieldValues,fields:o?.fields,onSubmit:d})}r(F,"AdditionalDetailsForm");export{F as a};
2
- //# sourceMappingURL=chunk-5S54GMUJ.js.map
1
+ import{a as t}from"./chunk-OXOK5PM3.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function F({onSubmit:n,onSuccess:s,onError:m}){let{terminationBag:o}=e(),d=r(async a=>{let l=await o?.parseFormValues(a,!0);await n?.(l);let i=await o?.onSubmit(a);i?.error?m?.(i.error):i?.data&&await s?.(i.data)},"handleSubmit");return f(t,{defaultValues:o.fieldValues,fields:o?.fields,onSubmit:d})}r(F,"AdditionalDetailsForm");export{F as a};
2
+ //# sourceMappingURL=chunk-PU3WPIEK.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-XCA33UL6.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as e}from"./chunk-2YTBWEC7.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function b({onSubmit:d,onSuccess:l,onError:n}){let{contractorOnboardingBag:r}=s(),c=i(async t=>{try{let a=await r.parseFormValues(t);await d?.(a);let o=await r.onSubmit(t);if(o?.data){await l?.(o?.data),r?.next();return}if(o?.error){let p=e(o?.fieldErrors||[],r.meta?.fields?.basic_information);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:p})}}catch(a){n?.({error:a,rawError:a,fieldErrors:[]})}},"handleSubmit"),f=r.stepState.values?.basic_information||r.initialValues.basic_information;return E(m,{defaultValues:f,onSubmit:c})}i(b,"BasicInformationStep");export{b as a};
2
- //# sourceMappingURL=chunk-FQQKCROC.js.map
1
+ import{a as m}from"./chunk-AJ5SXKFO.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as e}from"./chunk-2YTBWEC7.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function b({onSubmit:d,onSuccess:l,onError:n}){let{contractorOnboardingBag:r}=s(),c=i(async t=>{try{let a=await r.parseFormValues(t);await d?.(a);let o=await r.onSubmit(t);if(o?.data){await l?.(o?.data),r?.next();return}if(o?.error){let p=e(o?.fieldErrors||[],r.meta?.fields?.basic_information);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:p})}}catch(a){n?.({error:a,rawError:a,fieldErrors:[]})}},"handleSubmit"),f=r.stepState.values?.basic_information||r.initialValues.basic_information;return E(m,{defaultValues:f,onSubmit:c})}i(b,"BasicInformationStep");export{b as a};
2
+ //# sourceMappingURL=chunk-QDSRG735.js.map
@@ -1,2 +1,2 @@
1
- import{a as g}from"./chunk-KDI2AVBF.js";import{a as C}from"./chunk-2YTBWEC7.js";import{a as _}from"./chunk-P5QKSFOE.js";import{F as E,d as P,s as F}from"./chunk-W3YE53JN.js";import{a as d,b as w}from"./chunk-ZCXTTVGV.js";import{a as j}from"./chunk-PJBAQZ6G.js";import{d as c}from"./chunk-KQPDXXG3.js";import{d as y}from"./chunk-HRG5MSVG.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:l}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await P({client:l,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let u=o?.data||{};return _(u,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>E({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:l,stepState:m,nextStep:o,previousStep:u}=j(d),{data:i,isLoading:v,isError:Q,error:q}=g({employmentId:n}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function z(p){let f=await y(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:h}=C(A),H=await h(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:h}=C(S);return h(V)}default:throw new Error("Invalid step state")}}e(z,"onSubmit");async function O(p){if(s){let f=await y(p,s?.fields);return s?.handleValidation(f)}return null}e(O,"handleValidation");function x(){u()}return e(x,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:Q||M,error:q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:O,checkFieldUpdates:l,onSubmit:z,back:x}},"useContractAmendment");export{te as a};
2
- //# sourceMappingURL=chunk-PNRHCOPF.js.map
1
+ import{a as g}from"./chunk-V334GIML.js";import{a as C}from"./chunk-2YTBWEC7.js";import{a as _}from"./chunk-P5QKSFOE.js";import{G as E,d as P,t as F}from"./chunk-T6Q7IALZ.js";import{a as d,b as w}from"./chunk-ZCXTTVGV.js";import{a as j}from"./chunk-5BRMLRS7.js";import{d as c}from"./chunk-KQPDXXG3.js";import{d as y}from"./chunk-HRG5MSVG.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:l}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await P({client:l,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let u=o?.data||{};return _(u,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>E({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:l,stepState:m,nextStep:o,previousStep:u}=j(d),{data:i,isLoading:v,isError:Q,error:q}=g({employmentId:n}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function z(p){let f=await y(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:h}=C(A),H=await h(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:h}=C(S);return h(V)}default:throw new Error("Invalid step state")}}e(z,"onSubmit");async function O(p){if(s){let f=await y(p,s?.fields);return s?.handleValidation(f)}return null}e(O,"handleValidation");function x(){u()}return e(x,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:Q||M,error:q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:O,checkFieldUpdates:l,onSubmit:z,back:x}},"useContractAmendment");export{te as a};
2
+ //# sourceMappingURL=chunk-QKKAJK3A.js.map
@@ -1,2 +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
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-V334GIML.js";import{a as l}from"./chunk-P5QKSFOE.js";import{c}from"./chunk-T6Q7IALZ.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-RTQ4GKPG.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-WINYXC33.js";import{a as t}from"./chunk-ZUNMNGRC.js";import{a as f}from"./chunk-5S54GMUJ.js";import{a as e}from"./chunk-AL2HSQPC.js";import{a as p}from"./chunk-Q2JVGEYM.js";import{a as n}from"./chunk-4OVFMUUJ.js";import{a}from"./chunk-T6KVMOX7.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
2
- //# sourceMappingURL=chunk-ER7DFMME.js.map
1
+ import{a as r}from"./chunk-WINYXC33.js";import{a as t}from"./chunk-TMBD35L4.js";import{a as f}from"./chunk-PU3WPIEK.js";import{a as e}from"./chunk-3CRC4NDD.js";import{a as p}from"./chunk-2FDEMDWJ.js";import{a as n}from"./chunk-4OVFMUUJ.js";import{a}from"./chunk-VCEQ5E2O.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
2
+ //# sourceMappingURL=chunk-SKQWZNKT.js.map
@@ -1,2 +1,2 @@
1
- import{a as d}from"./chunk-XCA33UL6.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as i}from"./chunk-2YTBWEC7.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function F({onSubmit:l,onSuccess:c,onError:e}){let{contractorOnboardingBag:r}=s(),m=a(async n=>{try{let t=await r.parseFormValues(n);await l?.(t);let o=await r.onSubmit(n);if(o?.data){await c?.(o?.data),r?.next();return}if(o?.error){let u=i(o?.fieldErrors||[],r.meta?.fields?.contract_details);e?.({error:o?.error,rawError:o?.rawError,fieldErrors:u})}}catch(t){e?.({error:t,rawError:t,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.contract_details||r.initialValues.contract_details;return E(d,{defaultValues:p,onSubmit:m})}a(F,"ContractDetailsStep");export{F as a};
2
- //# sourceMappingURL=chunk-Z3AKMQ4S.js.map
1
+ import{a as d}from"./chunk-AJ5SXKFO.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as i}from"./chunk-2YTBWEC7.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function F({onSubmit:l,onSuccess:c,onError:e}){let{contractorOnboardingBag:r}=s(),m=a(async n=>{try{let t=await r.parseFormValues(n);await l?.(t);let o=await r.onSubmit(n);if(o?.data){await c?.(o?.data),r?.next();return}if(o?.error){let u=i(o?.fieldErrors||[],r.meta?.fields?.contract_details);e?.({error:o?.error,rawError:o?.rawError,fieldErrors:u})}}catch(t){e?.({error:t,rawError:t,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.contract_details||r.initialValues.contract_details;return E(d,{defaultValues:p,onSubmit:m})}a(F,"ContractDetailsStep");export{F as a};
2
+ //# sourceMappingURL=chunk-T5OFLN36.js.map