@remoteoss/remote-flows 1.51.0 → 1.53.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 (630) hide show
  1. package/README.md +1 -0
  2. package/dist/CheckboxFieldDefault-IAB3SNK3.js +2 -0
  3. package/dist/CountryFieldDefault-BVEQY5Q6.js +2 -0
  4. package/dist/DatePickerFieldDefault-AZFURBQX.js +2 -0
  5. package/dist/EmailFieldDefault-R7LQD4WN.js +2 -0
  6. package/dist/FileUploadFieldDefault-WSBZKLNC.js +2 -0
  7. package/dist/ForcedValueFieldDefault-N3IS2F36.js +2 -0
  8. package/dist/MultiSelectFieldDefault-XW2WTPDC.js +2 -0
  9. package/dist/NumberFieldDefault-U5SJAHHQ.js +2 -0
  10. package/dist/RadioGroupFieldDefault-SXO7A5NI.js +2 -0
  11. package/dist/SelectFieldDefault-7NL7VFYH.js +2 -0
  12. package/dist/TelFieldDefault-VDUP2THF.js +2 -0
  13. package/dist/TextAreaFieldDefault-JEVFVXO7.js +2 -0
  14. package/dist/TextFieldDefault-EMXPSK7U.js +2 -0
  15. package/dist/TimeFieldDefault-4WDEHMIJ.js +2 -0
  16. package/dist/WorkScheduleFieldDefault-YFHD6UUW.js +2 -0
  17. package/dist/{chunk-UWIUECXU.js → chunk-2BH4CIY3.js} +2 -2
  18. package/dist/{chunk-HRVJCCWJ.js → chunk-2IUT7KWS.js} +2 -2
  19. package/dist/{chunk-3WRO57UF.js → chunk-3BB4KEIH.js} +2 -2
  20. package/dist/{chunk-OJ4TXF6G.js → chunk-3CZLKNIW.js} +2 -2
  21. package/dist/{chunk-R6VNUDBK.js → chunk-3DPDFOYO.js} +2 -2
  22. package/dist/{chunk-335N2CVQ.js → chunk-3JH25AAF.js} +2 -2
  23. package/dist/chunk-46IKKWMK.js +2 -0
  24. package/dist/chunk-46IKKWMK.js.map +1 -0
  25. package/dist/{chunk-YANQP45B.js → chunk-4FKQXGBR.js} +2 -2
  26. package/dist/{chunk-2SD75ZFL.js → chunk-4ULD4YI7.js} +2 -2
  27. package/dist/chunk-4VEKBKZP.js +2 -0
  28. package/dist/chunk-4VEKBKZP.js.map +1 -0
  29. package/dist/{chunk-EQOOVJ7K.js → chunk-4X5DGXVM.js} +2 -2
  30. package/dist/{chunk-I53YCEOC.js → chunk-5POY6QBR.js} +2 -2
  31. package/dist/{chunk-72ZOHLOK.js → chunk-5QTSHKLK.js} +2 -2
  32. package/dist/{chunk-JKNE2D47.js → chunk-625V5NV7.js} +2 -2
  33. package/dist/chunk-677YKNHH.js +2 -0
  34. package/dist/chunk-677YKNHH.js.map +1 -0
  35. package/dist/chunk-6FLU37JM.js +2 -0
  36. package/dist/chunk-6FLU37JM.js.map +1 -0
  37. package/dist/{chunk-JUSQGITN.js → chunk-7DQOA753.js} +2 -2
  38. package/dist/{chunk-6OLV37C2.js → chunk-7JZWL4DI.js} +2 -2
  39. package/dist/chunk-7LP2MXCW.js +2 -0
  40. package/dist/chunk-7LP2MXCW.js.map +1 -0
  41. package/dist/{chunk-4BFGSBOK.js → chunk-A4WXUJPL.js} +2 -2
  42. package/dist/chunk-A74I763T.js +2 -0
  43. package/dist/chunk-A74I763T.js.map +1 -0
  44. package/dist/{chunk-OT5JE2SM.js → chunk-AVFWX6M6.js} +2 -2
  45. package/dist/chunk-B6WW4RCM.js +2 -0
  46. package/dist/chunk-B6WW4RCM.js.map +1 -0
  47. package/dist/{chunk-6UCTTR3O.js → chunk-BQKSMAW3.js} +2 -2
  48. package/dist/chunk-BZ7YOEB6.js +2 -0
  49. package/dist/chunk-BZ7YOEB6.js.map +1 -0
  50. package/dist/{chunk-FFRROEPQ.js → chunk-C3LOTWEB.js} +2 -2
  51. package/dist/chunk-CKDQYT7E.js +2 -0
  52. package/dist/{chunk-ZULOHKU6.js.map → chunk-CKDQYT7E.js.map} +1 -1
  53. package/dist/{chunk-ROVMQ5NT.js → chunk-CKOXMDGX.js} +2 -2
  54. package/dist/{chunk-Y6FOZXIU.js → chunk-CR5J5KK6.js} +2 -2
  55. package/dist/chunk-CYAISKZB.js +2 -0
  56. package/dist/chunk-CYAISKZB.js.map +1 -0
  57. package/dist/{chunk-ESXBCNJM.js → chunk-DAZQJZOF.js} +2 -2
  58. package/dist/{chunk-HKNQKO5Y.js → chunk-DC4ZTOZE.js} +2 -2
  59. package/dist/{chunk-P3TTGECC.js → chunk-DTNFGOBK.js} +2 -2
  60. package/dist/{chunk-ADL2ZH54.js → chunk-EEGKPPQK.js} +2 -2
  61. package/dist/chunk-EWRSIBE2.js +2 -0
  62. package/dist/{chunk-LY5PCHQ2.js.map → chunk-EWRSIBE2.js.map} +1 -1
  63. package/dist/{chunk-3DOSHTJS.js → chunk-F3YBR2IP.js} +2 -2
  64. package/dist/{chunk-C3MUUZC6.js → chunk-FB23WOLZ.js} +2 -2
  65. package/dist/chunk-FIPWWOZY.js +2 -0
  66. package/dist/chunk-FIPWWOZY.js.map +1 -0
  67. package/dist/{chunk-UNBTPLJ6.js → chunk-FZMUZRZN.js} +2 -2
  68. package/dist/{chunk-R2XDTYPZ.js → chunk-G4TPPC5G.js} +2 -2
  69. package/dist/chunk-GA7B6FUD.js +1 -0
  70. package/dist/{chunk-I5NW7AQZ.js → chunk-GFGO7E5V.js} +2 -2
  71. package/dist/{chunk-2L6AB46E.js → chunk-GYMFEHNM.js} +2 -2
  72. package/dist/{chunk-XLHTMWJ3.js → chunk-GZGBZT7Y.js} +2 -2
  73. package/dist/{chunk-72EMS5WI.js → chunk-H4ZSTP7B.js} +2 -2
  74. package/dist/{chunk-KD7UBTZG.js → chunk-HDFNGXCV.js} +2 -2
  75. package/dist/chunk-HO5OVZ7J.js +2 -0
  76. package/dist/chunk-HO5OVZ7J.js.map +1 -0
  77. package/dist/chunk-IBHCQXIL.js +2 -0
  78. package/dist/chunk-IBHCQXIL.js.map +1 -0
  79. package/dist/{chunk-74ZX4KQG.js → chunk-IK2LTVOV.js} +2 -2
  80. package/dist/{chunk-KSSQR2CS.js → chunk-IPQZBMOO.js} +2 -2
  81. package/dist/{chunk-NVOUXFGX.js → chunk-IRQJR7KU.js} +2 -2
  82. package/dist/{chunk-PAYZRCKY.js → chunk-ISPN7HQ5.js} +2 -2
  83. package/dist/{chunk-SDPYDCS7.js → chunk-IYH7D5ET.js} +2 -2
  84. package/dist/{chunk-FYCOEJEZ.js → chunk-IYWSUSS2.js} +2 -2
  85. package/dist/{chunk-WNOQNNRR.js → chunk-JIGRVBQS.js} +2 -2
  86. package/dist/chunk-JO5D2522.js +2 -0
  87. package/dist/chunk-JO5D2522.js.map +1 -0
  88. package/dist/{chunk-5FST4WDH.js → chunk-KSCJNGWW.js} +2 -2
  89. package/dist/chunk-KUQJG26N.js +2 -0
  90. package/dist/{chunk-PJAHLEOR.js → chunk-KXTESNWQ.js} +2 -2
  91. package/dist/chunk-L2GAD6S5.js +2 -0
  92. package/dist/chunk-L2GAD6S5.js.map +1 -0
  93. package/dist/chunk-L74V3INS.js +2 -0
  94. package/dist/chunk-L74V3INS.js.map +1 -0
  95. package/dist/{chunk-WU66SHVJ.js → chunk-LOFKF243.js} +2 -2
  96. package/dist/{chunk-BYD4TSDD.js → chunk-LRXKF2LC.js} +2 -2
  97. package/dist/{chunk-L7FN3XPX.js → chunk-M2UGSIVQ.js} +2 -2
  98. package/dist/{chunk-BQGTMOIQ.js → chunk-N2WIEKM6.js} +2 -2
  99. package/dist/chunk-NEVSZEMH.js +2 -0
  100. package/dist/chunk-NEVSZEMH.js.map +1 -0
  101. package/dist/{chunk-ZRD3M74X.js → chunk-NGBNHXAA.js} +2 -2
  102. package/dist/{chunk-IJS67A57.js → chunk-NHWKX4ED.js} +2 -2
  103. package/dist/{chunk-LJ32QPJF.js → chunk-NWY6UVCV.js} +2 -2
  104. package/dist/chunk-OMNDZQ4X.js +2 -0
  105. package/dist/chunk-OMNDZQ4X.js.map +1 -0
  106. package/dist/{chunk-ILPI4AFS.js → chunk-PDOPI7HR.js} +2 -2
  107. package/dist/{chunk-3NC2JJM3.js → chunk-PEBKJFMW.js} +2 -2
  108. package/dist/{chunk-GIBD2ZCJ.js → chunk-PSK3Z52M.js} +2 -2
  109. package/dist/{chunk-J244N33S.js → chunk-QB6GQW3J.js} +2 -2
  110. package/dist/{chunk-4AQMMGXK.js → chunk-QFBZ7JTG.js} +2 -2
  111. package/dist/{chunk-OFFUVHQJ.js → chunk-QFLUUNBA.js} +2 -2
  112. package/dist/{chunk-DIPYFRXX.js → chunk-QIAMSVGB.js} +2 -2
  113. package/dist/{chunk-LXABE3VR.js → chunk-QNEGC7RZ.js} +2 -2
  114. package/dist/{chunk-77LDJPXF.js → chunk-QOGWAKHP.js} +2 -2
  115. package/dist/{chunk-YYIAA47F.js → chunk-QRSMCORC.js} +2 -2
  116. package/dist/{chunk-6X4SQPQF.js → chunk-R2NQ3F6J.js} +2 -2
  117. package/dist/{chunk-XWCE5BU6.js → chunk-R5THYINT.js} +2 -2
  118. package/dist/{chunk-XXBQQH47.js → chunk-R6U3F3O3.js} +2 -2
  119. package/dist/chunk-RJXFAG4D.js +2 -0
  120. package/dist/chunk-RJXFAG4D.js.map +1 -0
  121. package/dist/{chunk-KFIUXU6I.js → chunk-RWPZYB5B.js} +2 -2
  122. package/dist/{chunk-XS5NKKW4.js → chunk-SQ5OMBOV.js} +2 -2
  123. package/dist/{chunk-GGTV6IQ3.js → chunk-SQKFUT6T.js} +2 -2
  124. package/dist/{chunk-APSKAXM2.js → chunk-SSPK7NGT.js} +2 -2
  125. package/dist/{chunk-3BDWVNHX.js → chunk-THUEI7J4.js} +2 -2
  126. package/dist/chunk-TJOQF7N6.js +2 -0
  127. package/dist/chunk-TJOQF7N6.js.map +1 -0
  128. package/dist/{chunk-GSUGHAHA.js → chunk-TNWH6PVQ.js} +2 -2
  129. package/dist/chunk-TSR7O3QD.js +2 -0
  130. package/dist/chunk-TSR7O3QD.js.map +1 -0
  131. package/dist/{chunk-3CGFAN3F.js → chunk-TSX5CPGE.js} +2 -2
  132. package/dist/chunk-U7X7AHH4.js +2 -0
  133. package/dist/{chunk-GNVGW65D.js.map → chunk-U7X7AHH4.js.map} +1 -1
  134. package/dist/{chunk-XPLWBO73.js → chunk-UA22Q6DY.js} +2 -2
  135. package/dist/{chunk-QIV5OKOI.js → chunk-UETBVQT5.js} +2 -2
  136. package/dist/{chunk-WHY2WNWH.js → chunk-UGQJQM72.js} +2 -2
  137. package/dist/{chunk-AAHPOX44.js → chunk-UTWBY65S.js} +2 -2
  138. package/dist/{chunk-5DPOL3DT.js → chunk-UX5LWYEO.js} +2 -2
  139. package/dist/chunk-VC3W5YDI.js +2 -0
  140. package/dist/chunk-VC3W5YDI.js.map +1 -0
  141. package/dist/{chunk-I65OXH33.js → chunk-VCJHB56K.js} +2 -2
  142. package/dist/{chunk-5NN5RWBG.js → chunk-VJTAVPZX.js} +2 -2
  143. package/dist/{chunk-VKORYYED.js → chunk-W5S3F2WP.js} +2 -2
  144. package/dist/chunk-WBKBVV3X.js +2 -0
  145. package/dist/chunk-WBKBVV3X.js.map +1 -0
  146. package/dist/{chunk-7UVH4WE2.js → chunk-WC7TWLA7.js} +2 -2
  147. package/dist/{chunk-7Y4NHODP.js → chunk-WLJX4B55.js} +2 -2
  148. package/dist/{chunk-57QHHIWL.js → chunk-WNGIJIV2.js} +2 -2
  149. package/dist/chunk-X2CSXDCG.js +2 -0
  150. package/dist/chunk-X2CSXDCG.js.map +1 -0
  151. package/dist/chunk-XCVZRNIN.js +2 -0
  152. package/dist/{chunk-OEKL7QGO.js.map → chunk-XCVZRNIN.js.map} +1 -1
  153. package/dist/{chunk-ZJ55AKB6.js → chunk-YCJGDPBN.js} +2 -2
  154. package/dist/{chunk-H4NJGAN4.js → chunk-YFQNP2SL.js} +2 -2
  155. package/dist/{chunk-PKORRCMX.js → chunk-YJTKDCA6.js} +2 -2
  156. package/dist/{chunk-CWKXQZRT.js → chunk-YUR2E2H3.js} +2 -2
  157. package/dist/{chunk-SUGZPBET.js → chunk-YUS4SJPV.js} +2 -2
  158. package/dist/{chunk-235XZBTZ.js → chunk-YVQ4Q626.js} +2 -2
  159. package/dist/chunk-ZI7EPJT7.js +2 -0
  160. package/dist/chunk-ZI7EPJT7.js.map +1 -0
  161. package/dist/{chunk-M7PZAJTR.js → chunk-ZLTZKUXL.js} +2 -2
  162. package/dist/{chunk-57Y5XQ3D.js → chunk-ZQGG2KNM.js} +2 -2
  163. package/dist/default-components.d.ts +2 -2
  164. package/dist/default-components.js +1 -1
  165. package/dist/default-components.js.map +1 -1
  166. package/dist/flows/ContractAmendment/ContractAmendmentBack.d.ts +2 -2
  167. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +3 -3
  168. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  169. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +5 -5
  170. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  171. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +3 -3
  172. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  173. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.d.ts +2 -2
  174. package/dist/flows/ContractAmendment/context.d.ts +7 -7
  175. package/dist/flows/ContractAmendment/hooks.d.ts +5 -5
  176. package/dist/flows/ContractAmendment/hooks.js +1 -1
  177. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  178. package/dist/flows/ContractAmendment/index.js +1 -1
  179. package/dist/flows/ContractAmendment/types.d.ts +3 -3
  180. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  181. package/dist/flows/ContractDocument/ContractDocumentFlow.d.ts +13 -0
  182. package/dist/flows/ContractDocument/ContractDocumentFlow.js +2 -0
  183. package/dist/flows/ContractDocument/ContractDocumentFlow.js.map +1 -0
  184. package/dist/flows/ContractDocument/context.d.ts +38 -0
  185. package/dist/flows/ContractDocument/context.js +2 -0
  186. package/dist/flows/ContractDocument/context.js.map +1 -0
  187. package/dist/flows/ContractDocument/hooks.d.ts +5 -0
  188. package/dist/flows/ContractDocument/hooks.js +2 -0
  189. package/dist/flows/ContractDocument/hooks.js.map +1 -0
  190. package/dist/flows/ContractDocument/index.d.ts +6 -0
  191. package/dist/flows/ContractDocument/index.js +2 -0
  192. package/dist/flows/ContractDocument/index.js.map +1 -0
  193. package/dist/flows/ContractDocument/types.d.ts +5 -0
  194. package/dist/flows/ContractDocument/types.js +1 -0
  195. package/dist/flows/ContractDocument/types.js.map +1 -0
  196. package/dist/flows/ContractDocument/utils.d.ts +15 -0
  197. package/dist/flows/ContractDocument/utils.js +2 -0
  198. package/dist/flows/ContractDocument/utils.js.map +1 -0
  199. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +7 -7
  200. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  201. package/dist/flows/ContractorOnboarding/api.d.ts +3 -3
  202. package/dist/flows/ContractorOnboarding/api.js +1 -1
  203. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +6 -6
  204. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  205. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  206. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  207. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +5 -5
  208. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +1 -1
  209. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +4 -4
  210. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +4 -4
  211. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  212. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  213. package/dist/flows/ContractorOnboarding/components/ContractReviewButton.d.ts +2 -2
  214. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +7 -7
  215. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  216. package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.d.ts +5 -5
  217. package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js +1 -1
  218. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
  219. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  220. package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.d.ts +5 -5
  221. package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js +1 -1
  222. package/dist/flows/ContractorOnboarding/components/OnboardingBack.d.ts +2 -2
  223. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +5 -5
  224. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  225. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.d.ts +2 -2
  226. package/dist/flows/ContractorOnboarding/components/PreviewInvoiceButton.d.ts +5 -5
  227. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  228. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  229. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +5 -5
  230. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +6 -6
  231. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  232. package/dist/flows/ContractorOnboarding/components/SkipInvoiceScheduleButton.d.ts +5 -5
  233. package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.d.ts +2 -2
  234. package/dist/flows/ContractorOnboarding/context.d.ts +9 -9
  235. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  236. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  237. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  238. package/dist/flows/ContractorOnboarding/index.js +1 -1
  239. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
  240. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  241. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  242. package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
  243. package/dist/flows/ContractorOnboarding/utils.js +1 -1
  244. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +6 -6
  245. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  246. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +5 -5
  247. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  248. package/dist/flows/CostCalculator/CostCalculatorResetButton.d.ts +2 -2
  249. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.d.ts +2 -2
  250. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +5 -5
  251. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +5 -5
  252. package/dist/flows/CostCalculator/api.d.ts +3 -3
  253. package/dist/flows/CostCalculator/api.js +1 -1
  254. package/dist/flows/CostCalculator/components/SalaryField.d.ts +4 -4
  255. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  256. package/dist/flows/CostCalculator/context.d.ts +5 -5
  257. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  258. package/dist/flows/CostCalculator/hooks.js +1 -1
  259. package/dist/flows/CostCalculator/index.d.ts +3 -3
  260. package/dist/flows/CostCalculator/index.js +1 -1
  261. package/dist/flows/CostCalculator/types.d.ts +3 -3
  262. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  263. package/dist/flows/CostCalculator/utils.js +1 -1
  264. package/dist/flows/CreateCompany/CreateCompany.d.ts +6 -6
  265. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  266. package/dist/flows/CreateCompany/api.d.ts +3 -3
  267. package/dist/flows/CreateCompany/api.js +1 -1
  268. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  269. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  270. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  271. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  272. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +4 -4
  273. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  274. package/dist/flows/CreateCompany/components/CreateCompanySubmit.d.ts +2 -2
  275. package/dist/flows/CreateCompany/context.d.ts +7 -7
  276. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  277. package/dist/flows/CreateCompany/hooks.js +1 -1
  278. package/dist/flows/CreateCompany/index.d.ts +4 -4
  279. package/dist/flows/CreateCompany/index.js +1 -1
  280. package/dist/flows/CreateCompany/types.d.ts +4 -4
  281. package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.d.ts +6 -6
  282. package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.js +1 -1
  283. package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.d.ts +5 -5
  284. package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.js +1 -1
  285. package/dist/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.d.ts +5 -5
  286. package/dist/flows/InvoiceSchedule/InvoiceScheduleSubmitButton.d.ts +2 -2
  287. package/dist/flows/InvoiceSchedule/context.d.ts +5 -5
  288. package/dist/flows/InvoiceSchedule/hooks.d.ts +3 -3
  289. package/dist/flows/InvoiceSchedule/hooks.js +1 -1
  290. package/dist/flows/InvoiceSchedule/index.d.ts +3 -3
  291. package/dist/flows/InvoiceSchedule/index.js +1 -1
  292. package/dist/flows/InvoiceSchedule/types.d.ts +3 -3
  293. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.d.ts +6 -6
  294. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js +1 -1
  295. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.d.ts +4 -4
  296. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js +1 -1
  297. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundResetButton.d.ts +2 -2
  298. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundSubmitButton.d.ts +2 -2
  299. package/dist/flows/JsonSchemaPlayground/context.d.ts +5 -5
  300. package/dist/flows/JsonSchemaPlayground/hooks.d.ts +3 -3
  301. package/dist/flows/JsonSchemaPlayground/hooks.js +1 -1
  302. package/dist/flows/JsonSchemaPlayground/index.d.ts +3 -3
  303. package/dist/flows/JsonSchemaPlayground/index.js +1 -1
  304. package/dist/flows/JsonSchemaPlayground/types.d.ts +3 -3
  305. package/dist/flows/Onboarding/OnboardingFlow.d.ts +6 -6
  306. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  307. package/dist/flows/Onboarding/api.d.ts +4 -4
  308. package/dist/flows/Onboarding/api.js +1 -1
  309. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +4 -4
  310. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  311. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  312. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  313. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  314. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  315. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  316. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  317. package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.d.ts +4 -4
  318. package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.js +1 -1
  319. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.d.ts +4 -4
  320. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.js +1 -1
  321. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.d.ts +15 -0
  322. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.js +2 -0
  323. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.js.map +1 -0
  324. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.d.ts +12 -0
  325. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.js +2 -0
  326. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.js.map +1 -0
  327. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.d.ts +13 -0
  328. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.js +2 -0
  329. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.js.map +1 -0
  330. package/dist/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.d.ts +21 -0
  331. package/dist/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.js +2 -0
  332. package/dist/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.js.map +1 -0
  333. package/dist/flows/Onboarding/components/DailySchedule/constants.d.ts +10 -0
  334. package/dist/flows/Onboarding/components/DailySchedule/constants.js +2 -0
  335. package/dist/flows/Onboarding/components/DailySchedule/constants.js.map +1 -0
  336. package/dist/flows/Onboarding/components/DailySchedule/types.d.ts +103 -7
  337. package/dist/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.d.ts +54 -0
  338. package/dist/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.js +2 -0
  339. package/dist/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.js.map +1 -0
  340. package/dist/flows/Onboarding/components/DailySchedule/utils.d.ts +52 -4
  341. package/dist/flows/Onboarding/components/DailySchedule/utils.js +1 -1
  342. package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.d.ts +2 -2
  343. package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
  344. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
  345. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
  346. package/dist/flows/Onboarding/components/EquityPriceDetails.d.ts +2 -2
  347. package/dist/flows/Onboarding/components/OnboardingBack.d.ts +2 -2
  348. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +6 -6
  349. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  350. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +5 -5
  351. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  352. package/dist/flows/Onboarding/components/OnboardingSubmit.d.ts +2 -2
  353. package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +4 -4
  354. package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
  355. package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.d.ts +2 -2
  356. package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +1 -1
  357. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  358. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +5 -5
  359. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  360. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  361. package/dist/flows/Onboarding/context.d.ts +8 -8
  362. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  363. package/dist/flows/Onboarding/hooks.js +1 -1
  364. package/dist/flows/Onboarding/index.d.ts +4 -4
  365. package/dist/flows/Onboarding/index.js +1 -1
  366. package/dist/flows/Onboarding/types.d.ts +4 -4
  367. package/dist/flows/Onboarding/utils.d.ts +4 -4
  368. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +7 -7
  369. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
  370. package/dist/flows/PayrollAdminOnboarding/api.d.ts +2 -2
  371. package/dist/flows/PayrollAdminOnboarding/api.js +1 -1
  372. package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.d.ts +5 -5
  373. package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js +1 -1
  374. package/dist/flows/PayrollAdminOnboarding/components/BackButton.d.ts +2 -2
  375. package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.d.ts +5 -5
  376. package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js +1 -1
  377. package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.d.ts +5 -5
  378. package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js +1 -1
  379. package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.d.ts +4 -4
  380. package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js +1 -1
  381. package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.d.ts +5 -5
  382. package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js +1 -1
  383. package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.d.ts +2 -2
  384. package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.d.ts +3 -3
  385. package/dist/flows/PayrollAdminOnboarding/context.d.ts +7 -7
  386. package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +5 -5
  387. package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
  388. package/dist/flows/PayrollAdminOnboarding/index.d.ts +5 -5
  389. package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
  390. package/dist/flows/PayrollAdminOnboarding/types.d.ts +5 -5
  391. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +7 -7
  392. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
  393. package/dist/flows/PayrollEmployeeOnboarding/api.d.ts +3 -3
  394. package/dist/flows/PayrollEmployeeOnboarding/api.js +1 -1
  395. package/dist/flows/PayrollEmployeeOnboarding/components/BackButton.d.ts +2 -2
  396. package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.d.ts +5 -5
  397. package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js +1 -1
  398. package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.d.ts +5 -5
  399. package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js +1 -1
  400. package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.d.ts +5 -5
  401. package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js +1 -1
  402. package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.d.ts +4 -4
  403. package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js +1 -1
  404. package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.d.ts +5 -5
  405. package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js +1 -1
  406. package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.d.ts +5 -5
  407. package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js +1 -1
  408. package/dist/flows/PayrollEmployeeOnboarding/components/SubmitButton.d.ts +2 -2
  409. package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.d.ts +3 -3
  410. package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +7 -7
  411. package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +5 -5
  412. package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
  413. package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +5 -5
  414. package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
  415. package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +5 -5
  416. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  417. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  418. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  419. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  420. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  421. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  422. package/dist/flows/Termination/TerminationBack.d.ts +2 -2
  423. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  424. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  425. package/dist/flows/Termination/TerminationFlow.d.ts +6 -6
  426. package/dist/flows/Termination/TerminationFlow.js +1 -1
  427. package/dist/flows/Termination/TerminationForm.d.ts +6 -6
  428. package/dist/flows/Termination/TerminationForm.js +1 -1
  429. package/dist/flows/Termination/TerminationSubmit.d.ts +2 -2
  430. package/dist/flows/Termination/api.d.ts +5 -5
  431. package/dist/flows/Termination/api.js +1 -1
  432. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.d.ts +2 -2
  433. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.d.ts +2 -2
  434. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.d.ts +2 -2
  435. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +8 -8
  436. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  437. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +8 -8
  438. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  439. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  440. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.d.ts +2 -2
  441. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  442. package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.d.ts +2 -2
  443. package/dist/flows/Termination/context.d.ts +8 -8
  444. package/dist/flows/Termination/hooks.d.ts +4 -4
  445. package/dist/flows/Termination/hooks.js +1 -1
  446. package/dist/flows/Termination/index.d.ts +6 -6
  447. package/dist/flows/Termination/index.js +1 -1
  448. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  449. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  450. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  451. package/dist/flows/Termination/types.d.ts +4 -4
  452. package/dist/flows/Termination/utils.d.ts +4 -4
  453. package/dist/flows/Termination/utils.js +1 -1
  454. package/dist/flows/types.d.ts +3 -3
  455. package/dist/flows/useStepState.d.ts +2 -2
  456. package/dist/flows/utils.d.ts +2 -2
  457. package/dist/index.css +1 -1
  458. package/dist/index.css.map +1 -1
  459. package/dist/index.d.ts +24 -18
  460. package/dist/index.js +2 -2
  461. package/dist/index.js.map +1 -1
  462. package/dist/internals.d.ts +66 -63
  463. package/dist/internals.js +1 -1
  464. package/dist/{mutations-BGNKrV99.d.ts → mutations-DU9Ens-k.d.ts} +1 -1
  465. package/dist/{remoteFlows-2MK_3sLb.d.ts → remoteFlows-BlMarq2K.d.ts} +2 -2
  466. package/dist/styles.css +1 -1
  467. package/dist/styles.css.map +1 -1
  468. package/dist/{types-BPLbQPfI.d.ts → types-B3gx0d05.d.ts} +6 -6
  469. package/dist/{types-g4Cxg_cb.d.ts → types-BFSFdXKe.d.ts} +1 -1
  470. package/dist/{types-DvJ4fXde.d.ts → types-BGoAzP0c.d.ts} +1 -1
  471. package/dist/{types-BOB-WNJe.d.ts → types-CUM3UF3m.d.ts} +10 -10
  472. package/dist/{types-CJocMMvX.d.ts → types-DFnvapWX.d.ts} +18 -13
  473. package/dist/{types-B2bPNE86.d.ts → types-DhMtx0eA.d.ts} +7 -7
  474. package/dist/{types-Ke3uSWQH.d.ts → types-KKMzDO4l.d.ts} +5 -5
  475. package/dist/{types-BZ58yiMu.d.ts → types-PlplBXal.d.ts} +12 -12
  476. package/dist/types-Q5jEmNSC.d.ts +62 -0
  477. package/dist/{types.gen-ByX93X_n.d.ts → types.gen-CMDAS1NL.d.ts} +1 -1
  478. package/dist/{utils-Douv08HR.d.ts → utils-DpJmWzrf.d.ts} +1 -1
  479. package/package.json +6 -2
  480. package/dist/CheckboxFieldDefault-23VE43PP.js +0 -2
  481. package/dist/CountryFieldDefault-FVAAL55P.js +0 -2
  482. package/dist/DatePickerFieldDefault-KXEMGK5B.js +0 -2
  483. package/dist/EmailFieldDefault-OFHDLOOT.js +0 -2
  484. package/dist/FileUploadFieldDefault-GX22C22E.js +0 -2
  485. package/dist/ForcedValueFieldDefault-ESITCZWK.js +0 -2
  486. package/dist/MultiSelectFieldDefault-DAUBH5JV.js +0 -2
  487. package/dist/NumberFieldDefault-MXZD7YVE.js +0 -2
  488. package/dist/RadioGroupFieldDefault-QFUUJGSR.js +0 -2
  489. package/dist/SelectFieldDefault-3QTJE222.js +0 -2
  490. package/dist/TelFieldDefault-5U5X37LI.js +0 -2
  491. package/dist/TextAreaFieldDefault-JX2MVJVY.js +0 -2
  492. package/dist/TextFieldDefault-WCUD6XYS.js +0 -2
  493. package/dist/TimeFieldDefault-UNF7PKLT.js +0 -2
  494. package/dist/WorkScheduleFieldDefault-2A2RCDXV.js +0 -2
  495. package/dist/chunk-2EXX7BNU.js +0 -2
  496. package/dist/chunk-2EXX7BNU.js.map +0 -1
  497. package/dist/chunk-2KA6NZOQ.js +0 -2
  498. package/dist/chunk-2KA6NZOQ.js.map +0 -1
  499. package/dist/chunk-ANPNVWCB.js +0 -2
  500. package/dist/chunk-BQVCM5DQ.js +0 -2
  501. package/dist/chunk-BQVCM5DQ.js.map +0 -1
  502. package/dist/chunk-C7KVPEVX.js +0 -2
  503. package/dist/chunk-C7KVPEVX.js.map +0 -1
  504. package/dist/chunk-EOV3JMUQ.js +0 -2
  505. package/dist/chunk-EOV3JMUQ.js.map +0 -1
  506. package/dist/chunk-EP3BNRH3.js +0 -2
  507. package/dist/chunk-EP3BNRH3.js.map +0 -1
  508. package/dist/chunk-G3BWBRCE.js +0 -2
  509. package/dist/chunk-G3BWBRCE.js.map +0 -1
  510. package/dist/chunk-GGVW6SG6.js +0 -2
  511. package/dist/chunk-GGVW6SG6.js.map +0 -1
  512. package/dist/chunk-GNVGW65D.js +0 -2
  513. package/dist/chunk-KJRHRVFI.js +0 -2
  514. package/dist/chunk-KJRHRVFI.js.map +0 -1
  515. package/dist/chunk-LY5PCHQ2.js +0 -2
  516. package/dist/chunk-OEKL7QGO.js +0 -2
  517. package/dist/chunk-XFVXRCMH.js +0 -2
  518. package/dist/chunk-XFVXRCMH.js.map +0 -1
  519. package/dist/chunk-XTZJKL3C.js +0 -2
  520. package/dist/chunk-XTZJKL3C.js.map +0 -1
  521. package/dist/chunk-ZHFGV2GB.js +0 -2
  522. package/dist/chunk-ZHFGV2GB.js.map +0 -1
  523. package/dist/chunk-ZULOHKU6.js +0 -2
  524. package/dist/flows/Onboarding/json-schemas/selectCountryStep.d.ts +0 -27
  525. package/dist/flows/Onboarding/json-schemas/selectCountryStep.js +0 -2
  526. /package/dist/{CheckboxFieldDefault-23VE43PP.js.map → CheckboxFieldDefault-IAB3SNK3.js.map} +0 -0
  527. /package/dist/{CountryFieldDefault-FVAAL55P.js.map → CountryFieldDefault-BVEQY5Q6.js.map} +0 -0
  528. /package/dist/{DatePickerFieldDefault-KXEMGK5B.js.map → DatePickerFieldDefault-AZFURBQX.js.map} +0 -0
  529. /package/dist/{EmailFieldDefault-OFHDLOOT.js.map → EmailFieldDefault-R7LQD4WN.js.map} +0 -0
  530. /package/dist/{FileUploadFieldDefault-GX22C22E.js.map → FileUploadFieldDefault-WSBZKLNC.js.map} +0 -0
  531. /package/dist/{ForcedValueFieldDefault-ESITCZWK.js.map → ForcedValueFieldDefault-N3IS2F36.js.map} +0 -0
  532. /package/dist/{MultiSelectFieldDefault-DAUBH5JV.js.map → MultiSelectFieldDefault-XW2WTPDC.js.map} +0 -0
  533. /package/dist/{NumberFieldDefault-MXZD7YVE.js.map → NumberFieldDefault-U5SJAHHQ.js.map} +0 -0
  534. /package/dist/{RadioGroupFieldDefault-QFUUJGSR.js.map → RadioGroupFieldDefault-SXO7A5NI.js.map} +0 -0
  535. /package/dist/{SelectFieldDefault-3QTJE222.js.map → SelectFieldDefault-7NL7VFYH.js.map} +0 -0
  536. /package/dist/{TelFieldDefault-5U5X37LI.js.map → TelFieldDefault-VDUP2THF.js.map} +0 -0
  537. /package/dist/{TextAreaFieldDefault-JX2MVJVY.js.map → TextAreaFieldDefault-JEVFVXO7.js.map} +0 -0
  538. /package/dist/{TextFieldDefault-WCUD6XYS.js.map → TextFieldDefault-EMXPSK7U.js.map} +0 -0
  539. /package/dist/{TimeFieldDefault-UNF7PKLT.js.map → TimeFieldDefault-4WDEHMIJ.js.map} +0 -0
  540. /package/dist/{WorkScheduleFieldDefault-2A2RCDXV.js.map → WorkScheduleFieldDefault-YFHD6UUW.js.map} +0 -0
  541. /package/dist/{chunk-UWIUECXU.js.map → chunk-2BH4CIY3.js.map} +0 -0
  542. /package/dist/{chunk-HRVJCCWJ.js.map → chunk-2IUT7KWS.js.map} +0 -0
  543. /package/dist/{chunk-3WRO57UF.js.map → chunk-3BB4KEIH.js.map} +0 -0
  544. /package/dist/{chunk-OJ4TXF6G.js.map → chunk-3CZLKNIW.js.map} +0 -0
  545. /package/dist/{chunk-R6VNUDBK.js.map → chunk-3DPDFOYO.js.map} +0 -0
  546. /package/dist/{chunk-335N2CVQ.js.map → chunk-3JH25AAF.js.map} +0 -0
  547. /package/dist/{chunk-YANQP45B.js.map → chunk-4FKQXGBR.js.map} +0 -0
  548. /package/dist/{chunk-2SD75ZFL.js.map → chunk-4ULD4YI7.js.map} +0 -0
  549. /package/dist/{chunk-EQOOVJ7K.js.map → chunk-4X5DGXVM.js.map} +0 -0
  550. /package/dist/{chunk-I53YCEOC.js.map → chunk-5POY6QBR.js.map} +0 -0
  551. /package/dist/{chunk-72ZOHLOK.js.map → chunk-5QTSHKLK.js.map} +0 -0
  552. /package/dist/{chunk-JKNE2D47.js.map → chunk-625V5NV7.js.map} +0 -0
  553. /package/dist/{chunk-JUSQGITN.js.map → chunk-7DQOA753.js.map} +0 -0
  554. /package/dist/{chunk-6OLV37C2.js.map → chunk-7JZWL4DI.js.map} +0 -0
  555. /package/dist/{chunk-4BFGSBOK.js.map → chunk-A4WXUJPL.js.map} +0 -0
  556. /package/dist/{chunk-OT5JE2SM.js.map → chunk-AVFWX6M6.js.map} +0 -0
  557. /package/dist/{chunk-6UCTTR3O.js.map → chunk-BQKSMAW3.js.map} +0 -0
  558. /package/dist/{chunk-FFRROEPQ.js.map → chunk-C3LOTWEB.js.map} +0 -0
  559. /package/dist/{chunk-ROVMQ5NT.js.map → chunk-CKOXMDGX.js.map} +0 -0
  560. /package/dist/{chunk-Y6FOZXIU.js.map → chunk-CR5J5KK6.js.map} +0 -0
  561. /package/dist/{chunk-ESXBCNJM.js.map → chunk-DAZQJZOF.js.map} +0 -0
  562. /package/dist/{chunk-HKNQKO5Y.js.map → chunk-DC4ZTOZE.js.map} +0 -0
  563. /package/dist/{chunk-P3TTGECC.js.map → chunk-DTNFGOBK.js.map} +0 -0
  564. /package/dist/{chunk-ADL2ZH54.js.map → chunk-EEGKPPQK.js.map} +0 -0
  565. /package/dist/{chunk-3DOSHTJS.js.map → chunk-F3YBR2IP.js.map} +0 -0
  566. /package/dist/{chunk-C3MUUZC6.js.map → chunk-FB23WOLZ.js.map} +0 -0
  567. /package/dist/{chunk-UNBTPLJ6.js.map → chunk-FZMUZRZN.js.map} +0 -0
  568. /package/dist/{chunk-R2XDTYPZ.js.map → chunk-G4TPPC5G.js.map} +0 -0
  569. /package/dist/{flows/Onboarding/json-schemas/selectCountryStep.js.map → chunk-GA7B6FUD.js.map} +0 -0
  570. /package/dist/{chunk-I5NW7AQZ.js.map → chunk-GFGO7E5V.js.map} +0 -0
  571. /package/dist/{chunk-2L6AB46E.js.map → chunk-GYMFEHNM.js.map} +0 -0
  572. /package/dist/{chunk-XLHTMWJ3.js.map → chunk-GZGBZT7Y.js.map} +0 -0
  573. /package/dist/{chunk-72EMS5WI.js.map → chunk-H4ZSTP7B.js.map} +0 -0
  574. /package/dist/{chunk-KD7UBTZG.js.map → chunk-HDFNGXCV.js.map} +0 -0
  575. /package/dist/{chunk-74ZX4KQG.js.map → chunk-IK2LTVOV.js.map} +0 -0
  576. /package/dist/{chunk-KSSQR2CS.js.map → chunk-IPQZBMOO.js.map} +0 -0
  577. /package/dist/{chunk-NVOUXFGX.js.map → chunk-IRQJR7KU.js.map} +0 -0
  578. /package/dist/{chunk-PAYZRCKY.js.map → chunk-ISPN7HQ5.js.map} +0 -0
  579. /package/dist/{chunk-SDPYDCS7.js.map → chunk-IYH7D5ET.js.map} +0 -0
  580. /package/dist/{chunk-FYCOEJEZ.js.map → chunk-IYWSUSS2.js.map} +0 -0
  581. /package/dist/{chunk-WNOQNNRR.js.map → chunk-JIGRVBQS.js.map} +0 -0
  582. /package/dist/{chunk-5FST4WDH.js.map → chunk-KSCJNGWW.js.map} +0 -0
  583. /package/dist/{chunk-ANPNVWCB.js.map → chunk-KUQJG26N.js.map} +0 -0
  584. /package/dist/{chunk-PJAHLEOR.js.map → chunk-KXTESNWQ.js.map} +0 -0
  585. /package/dist/{chunk-WU66SHVJ.js.map → chunk-LOFKF243.js.map} +0 -0
  586. /package/dist/{chunk-BYD4TSDD.js.map → chunk-LRXKF2LC.js.map} +0 -0
  587. /package/dist/{chunk-L7FN3XPX.js.map → chunk-M2UGSIVQ.js.map} +0 -0
  588. /package/dist/{chunk-BQGTMOIQ.js.map → chunk-N2WIEKM6.js.map} +0 -0
  589. /package/dist/{chunk-ZRD3M74X.js.map → chunk-NGBNHXAA.js.map} +0 -0
  590. /package/dist/{chunk-IJS67A57.js.map → chunk-NHWKX4ED.js.map} +0 -0
  591. /package/dist/{chunk-LJ32QPJF.js.map → chunk-NWY6UVCV.js.map} +0 -0
  592. /package/dist/{chunk-ILPI4AFS.js.map → chunk-PDOPI7HR.js.map} +0 -0
  593. /package/dist/{chunk-3NC2JJM3.js.map → chunk-PEBKJFMW.js.map} +0 -0
  594. /package/dist/{chunk-GIBD2ZCJ.js.map → chunk-PSK3Z52M.js.map} +0 -0
  595. /package/dist/{chunk-J244N33S.js.map → chunk-QB6GQW3J.js.map} +0 -0
  596. /package/dist/{chunk-4AQMMGXK.js.map → chunk-QFBZ7JTG.js.map} +0 -0
  597. /package/dist/{chunk-OFFUVHQJ.js.map → chunk-QFLUUNBA.js.map} +0 -0
  598. /package/dist/{chunk-DIPYFRXX.js.map → chunk-QIAMSVGB.js.map} +0 -0
  599. /package/dist/{chunk-LXABE3VR.js.map → chunk-QNEGC7RZ.js.map} +0 -0
  600. /package/dist/{chunk-77LDJPXF.js.map → chunk-QOGWAKHP.js.map} +0 -0
  601. /package/dist/{chunk-YYIAA47F.js.map → chunk-QRSMCORC.js.map} +0 -0
  602. /package/dist/{chunk-6X4SQPQF.js.map → chunk-R2NQ3F6J.js.map} +0 -0
  603. /package/dist/{chunk-XWCE5BU6.js.map → chunk-R5THYINT.js.map} +0 -0
  604. /package/dist/{chunk-XXBQQH47.js.map → chunk-R6U3F3O3.js.map} +0 -0
  605. /package/dist/{chunk-KFIUXU6I.js.map → chunk-RWPZYB5B.js.map} +0 -0
  606. /package/dist/{chunk-XS5NKKW4.js.map → chunk-SQ5OMBOV.js.map} +0 -0
  607. /package/dist/{chunk-GGTV6IQ3.js.map → chunk-SQKFUT6T.js.map} +0 -0
  608. /package/dist/{chunk-APSKAXM2.js.map → chunk-SSPK7NGT.js.map} +0 -0
  609. /package/dist/{chunk-3BDWVNHX.js.map → chunk-THUEI7J4.js.map} +0 -0
  610. /package/dist/{chunk-GSUGHAHA.js.map → chunk-TNWH6PVQ.js.map} +0 -0
  611. /package/dist/{chunk-3CGFAN3F.js.map → chunk-TSX5CPGE.js.map} +0 -0
  612. /package/dist/{chunk-XPLWBO73.js.map → chunk-UA22Q6DY.js.map} +0 -0
  613. /package/dist/{chunk-QIV5OKOI.js.map → chunk-UETBVQT5.js.map} +0 -0
  614. /package/dist/{chunk-WHY2WNWH.js.map → chunk-UGQJQM72.js.map} +0 -0
  615. /package/dist/{chunk-AAHPOX44.js.map → chunk-UTWBY65S.js.map} +0 -0
  616. /package/dist/{chunk-5DPOL3DT.js.map → chunk-UX5LWYEO.js.map} +0 -0
  617. /package/dist/{chunk-I65OXH33.js.map → chunk-VCJHB56K.js.map} +0 -0
  618. /package/dist/{chunk-5NN5RWBG.js.map → chunk-VJTAVPZX.js.map} +0 -0
  619. /package/dist/{chunk-VKORYYED.js.map → chunk-W5S3F2WP.js.map} +0 -0
  620. /package/dist/{chunk-7UVH4WE2.js.map → chunk-WC7TWLA7.js.map} +0 -0
  621. /package/dist/{chunk-7Y4NHODP.js.map → chunk-WLJX4B55.js.map} +0 -0
  622. /package/dist/{chunk-57QHHIWL.js.map → chunk-WNGIJIV2.js.map} +0 -0
  623. /package/dist/{chunk-ZJ55AKB6.js.map → chunk-YCJGDPBN.js.map} +0 -0
  624. /package/dist/{chunk-H4NJGAN4.js.map → chunk-YFQNP2SL.js.map} +0 -0
  625. /package/dist/{chunk-PKORRCMX.js.map → chunk-YJTKDCA6.js.map} +0 -0
  626. /package/dist/{chunk-CWKXQZRT.js.map → chunk-YUR2E2H3.js.map} +0 -0
  627. /package/dist/{chunk-SUGZPBET.js.map → chunk-YUS4SJPV.js.map} +0 -0
  628. /package/dist/{chunk-235XZBTZ.js.map → chunk-YVQ4Q626.js.map} +0 -0
  629. /package/dist/{chunk-M7PZAJTR.js.map → chunk-ZLTZKUXL.js.map} +0 -0
  630. /package/dist/{chunk-57Y5XQ3D.js.map → chunk-ZQGG2KNM.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{a as ne}from"./chunk-UYOKK4QW.js";import{a as oe}from"./chunk-753FEV2S.js";import{a as re}from"./chunk-Y2NCUO3F.js";import{a as te}from"./chunk-VDJJEIOD.js";import{e as P}from"./chunk-TDKKCSKV.js";import{a as O,b as ie,c as q,d as S,f as F,m as se}from"./chunk-PB6UQ4A4.js";import{a as X,b as Z}from"./chunk-FIPWWOZY.js";import{a as ee}from"./chunk-3HMBTPH7.js";import{a as p}from"./chunk-JO5D2522.js";import{M as U,S as L,_ as J,ba as G,ea as K,f as v,ga as N,ja as k,ka as B,la as $,ma as H,oa as Y,ra as z,s as A,sa as W,v as j,w as Q}from"./chunk-DAUDKN32.js";import{b as _,g as I,t as w}from"./chunk-C4HFMTSB.js";import{e as s}from"./chunk-H2O4CVKF.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMemo as x}from"react";import{useMutation as y,useQuery as d}from"@tanstack/react-query";import{useMutation as Se,useQuery as ae}from"@tanstack/react-query";var Ve=n(()=>{let{client:e}=s();return Se({mutationFn:n(t=>N({client:e,body:t,headers:{Authorization:""}}),"mutationFn")})},"useUploadFile"),ce=n(e=>{let{client:t}=s();return ae({queryKey:["download-file",e],queryFn:n(async()=>{let o=await U({client:t,path:{id:e}});if(o.error)throw o.error;return o.data},"queryFn"),select:n(({data:o})=>o?.file,"select"),enabled:!!e})},"useDownloadFile"),le=n((e,t,o)=>{let{client:r}=s();return ae({queryKey:["employment-files",e],queryFn:n(async()=>{let i=await K({client:r,path:{employment_id:e},query:t});if(i.error)throw i.error;return i.data},"queryFn"),...o})},"useEmploymentFiles");import{useQuery as he}from"@tanstack/react-query";import{useQuery as Fe}from"@tanstack/react-query";var h=n(()=>{let{client:e}=s();return Fe({queryKey:["identity"],queryFn:n(()=>B({client:e,headers:{Authorization:""}}),"queryFn"),select:n(t=>t.data?.data,"select")})},"useIdentity");function M(e){return e!=null&&"company"in e}n(M,"hasCompany");var ue=n((e={enabled:!0})=>{let{data:t}=h(),o=M(t)?t?.company?.id??"":"",{client:r}=s();return he({queryKey:["pricing-plans",o],queryFn:n(()=>v({client:r,path:{company_id:o}}),"queryFn"),select:n(i=>i.data?.data?.pricing_plans,"select"),enabled:!!e?.enabled&&!!o})},"useCompanyPricingPlans");var Tt=n(({fieldValues:e,options:t})=>d({queryKey:["contract-document-signature",e.review_completed,t?.jsfModify],queryFn:n(async()=>p(te,e,{jsfModify:t?.jsfModify}),"queryFn"),enabled:t?.queryOptions?.enabled}),"useGetContractDocumentSignatureSchema"),Dt=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,contractDocumentId:o,payload:r})=>k({client:e,body:r,path:{employment_id:t,contract_document_id:o}}),"mutationFn")})},"useSignContractDocument"),Ee=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{client:r}=s();return d({queryKey:["contract-document",e,t],queryFn:n(async()=>j({client:r,path:{employment_id:e,id:t}}),"queryFn"),enabled:o?.queryOptions?.enabled,select:n(({data:i})=>({...i?.data,contract_document:{...i?.data?.contract_document,content:w(i?.data?.contract_document?.content)}}),"select")})},"useGetShowContractDocument"),Rt=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{data:r}=Ee({employmentId:e,contractDocumentId:t,options:{queryOptions:{enabled:o?.queryOptions?.enabled}}});return{hasCompanySignedContract:r?.contract_document?.signatories?.some(a=>a.type==="company"&&a.status==="signed")}},"useHasCompanySignedContract"),_e=n(({employmentId:e,options:t})=>{let{client:o}=s();return d({queryKey:["contractor-subscriptions",e],queryFn:n(async()=>A({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useGetContractorSubscriptions"),Vt=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,payload:o})=>H({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorSubscriptions"),wt=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,payload:o})=>G({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"useCreateContractorContractDocument"),Ie={[O]:"Contractor Management",[ie]:"Contractor Management Plus",[q]:"Contractor of Record"},Oe=n(e=>{let{data:t,isLoading:o}=ue({enabled:e?.enabled}),r=t?.find(a=>a.product.name==="EOR Monthly");return{eorSubscription:r?{product:{identifier:S,short_name:"EOR"},currency:r.price.currency,price:{amount:I(r.price.amount)},features:["Contract between Remote and employee","Remote manages onboarding, payroll, and compliance","Manages taxes, benefits, and time-off tracking","Handles contracts, transfers, and terminations"],description:"Enables hiring in countries without a local entity",label:"Employer of Record",value:S}:null,isLoading:o}},"useEorSubscription"),qe=n((e,t,o)=>(t&&P(S,o)&&e.push({label:t.label,value:t.value,description:t.description,meta:{features:t.features,price:{amount:t.price.amount,currencyCode:t.currency?.code??""}},disabled:!1}),e),"addEorToFieldOptions"),vt=n((e,t,o)=>{let{data:r,isLoading:i,refetch:a}=_e({employmentId:e,options:{queryOptions:o?.queryOptions}}),c=x(()=>r?.filter(u=>P(u.product.identifier??"",o?.excludeProducts))??[],[r,o?.excludeProducts]),g=r?r?.length<3:!1,C=r?.find(u=>u.product.identifier===q)?.eligibility_questionnaire?.is_blocking,E=(g||C)&&t?.eor_onboarding&&!o?.excludeProducts?.includes("eor"),{eorSubscription:D,isLoading:de}=Oe({enabled:E}),me=c.length>0||E&&D!==null,R=p(re.data.schema,{},{...o,jsfModify:{...o?.jsfModify,required:me?o?.jsfModify?.required:u=>u.filter(m=>m!=="subscription")}}),V=R.fields.find(u=>u.name==="subscription");if(V){let u=c.map(b=>{let l=b.product,pe=b.price.amount,ye=b.currency.code,fe=Ie[l.identifier]??"",Ce=l.identifier??"",be=l.description??"";l.description||console.error(`[Data Integrity] Missing description for product: ${l.identifier}`,{product:l});let ge={features:l.features??se[l.identifier]??[],price:{amount:I(pe),currencyCode:ye}};return{label:fe,value:Ce,description:be,meta:ge,disabled:C&&l.identifier!==O}});u.sort((b,l)=>b.label.localeCompare(l.label));let m=[];E&&(qe(m,D,o?.excludeProducts),m.length>0&&(m[0].meta={...m[0].meta,groupSeparator:{show:!0}})),V.options=[...u,...m]}return{isLoading:i||de,form:R,contractorSubscriptions:r,filteredContractorSubscriptions:c,refetch:a,isEligibilityQuestionnaireBlocked:C}},"useContractorSubscriptionSchemaField"),At=n((e,t,o)=>{let{mutateAsyncOrThrow:r}=_(t),{mutateAsyncOrThrow:i}=_(e);return{mutateAsync:n(async({employmentId:a})=>{let{nationality_status:c,ir35:f,ir35_sds_file:g}=o,T={contract_document:{ir_35:f}},C={contract_document:{nationality:c}};return f?(await i({employmentId:a,payload:T}),g?r({employment_id:a,file:g,sub_type:F}):Promise.resolve()):c?i({employmentId:a,payload:C}):Promise.resolve()},"mutateAsync")}},"useUpdateUKandSaudiFields"),jt=n((e,t)=>{let{data:o,isLoading:r}=le(e,{sub_type:F},{...t,select:n(({data:c})=>c?.files?.filter(f=>f.sub_type===F),"select")}),i=o?.[0]?.id,a=ce(i);return{...a,isLoading:r||a.isLoading}},"useGetIR35File"),Qt=n((e,t)=>{let{client:o}=s();return d({queryKey:["contract-documents",e],queryFn:n(async()=>Q({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.enabled,select:n(({data:r})=>r?.data?.contract_documents,"select")})},"useGetContractDocuments"),Ut=n(({options:e,fieldValues:t})=>{let{client:o}=s();return d({queryKey:["eligibility-questionnaire"],queryFn:n(async()=>{let r=await $({client:o,query:{type:"contractor_of_record",json_schema_version:1}});if(r.error)throw new Error("Failed to fetch eligibility questionnaire");return r.data.data},"queryFn"),select:n(r=>{let i=r?.schema||{};return p(i,t,{jsfModify:e?.jsfModify})},"select"),enabled:e?.queryOptions?.enabled})},"useGetEligibilityQuestionnaire"),Lt=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,payload:o})=>L({client:e,body:{employment_slug:t,responses:o,type:"contractor_of_record"},query:{json_schema_version:1}}),"mutationFn")})},"usePostCreateEligibilityQuestionnaire"),Jt=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t})=>W({client:e,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorCorSubscription"),Gt=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t})=>z({client:e,path:{employment_id:t}}),"mutationFn")})},"useDeleteContractorCorSubscription"),Kt=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,contractOrigin:o,templateType:r})=>J({client:e,path:{employment_id:t},body:{contract_origin:o,template_type:r}}),"mutationFn")})},"useSetContractOrigin"),Nt=n(({fieldValues:e,options:t})=>d({queryKey:["contract-origin-schema",t?.jsfModify],queryFn:n(async()=>p(ne,e,{jsfModify:t?.jsfModify}),"queryFn"),enabled:t?.queryOptions?.enabled}),"useGetContractOriginSchema"),kt=n(({enabled:e,jsfModify:t})=>x(()=>e?p(oe,{},{jsfModify:t}):null,[e,t]),"useGetInvoiceScheduleSchema"),Bt=n(e=>{let{client:t}=s(),{data:o,isLoading:r}=d({...ee(t,"contractor-onboarding-countries"),select:n(a=>a.data?.data?.map(c=>({label:c.name,value:c.code,eor_onboarding:c.eor_onboarding,contractor_products_available:c.contractor_products_available}))||[],"select"),enabled:e?.queryOptions?.enabled}),i=x(()=>p(X.data.schema,{},{jsfModify:Z(o,e?.jsfModify)}),[o,e?.jsfModify]);return{isLoading:r,selectCountryForm:i,countries:o}},"useCountriesSchemaField"),$t=n(({options:e}={})=>{let{data:t}=h(),o=M(t)?t?.company?.id??"":"",{client:r}=s();return d({queryKey:["company-open-tasks",o],queryFn:n(()=>Y({client:r,path:{company_id:o}}),"queryFn"),select:n(({data:i})=>i?.data?.actions??[],"select"),enabled:(e?.queryOptions?.enabled??!0)&&!!o})},"useCompanyOpenTasks");export{Ve as a,h as b,M as c,Tt as d,Dt as e,Ee as f,Rt as g,_e as h,Vt as i,wt as j,Ie as k,vt as l,At as m,jt as n,Qt as o,Ut as p,Lt as q,Jt as r,Gt as s,Kt as t,Nt as u,kt as v,Bt as w,$t as x};
2
+ //# sourceMappingURL=chunk-HO5OVZ7J.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/api.ts","../src/common/api/files.ts","../src/common/api/companies.ts","../src/common/api/identity.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n CompanyAction,\n CreateContractDocument,\n getV1CompaniesCompanyIdActions,\n getV1ContractorsEmploymentsEmploymentIdContractDocumentsId,\n getV1ContractorsEmploymentsEmploymentIdContractorSubscriptions,\n ManageContractorPlusSubscriptionOperationsParams,\n postV1ContractorsEmploymentsEmploymentIdContractDocuments,\n postV1ContractorsEmploymentsEmploymentIdContractorPlusSubscription,\n postV1ContractorsEmploymentsEmploymentIdContractDocumentsContractDocumentIdSign,\n SignContractDocument,\n getV1EmploymentsEmploymentIdContractDocuments,\n EligibilityQuestionnaireJsonSchemaResponse,\n getV1ContractorsSchemasEligibilityQuestionnaire,\n SubmitEligibilityQuestionnaireRequest,\n postV1ContractorsEligibilityQuestionnaire,\n postV1ContractorsEmploymentsEmploymentIdContractorCorSubscription,\n postV1EmploymentsEmploymentIdContractOrigin,\n deleteV1ContractorsEmploymentsEmploymentIdContractorCorSubscription,\n Country,\n PostV1EmploymentsEmploymentIdContractOriginData,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { signatureSchema } from '@/src/flows/ContractorOnboarding/json-schemas/signature';\nimport { contractOriginSchema } from '@/src/flows/ContractorOnboarding/json-schemas/contractOrigin';\nimport { invoiceScheduleSchema } from '@/src/flows/ContractorOnboarding/json-schemas/invoiceSchedule';\nimport { selectContractorSubscriptionStepSchema } from '@/src/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep';\nimport {\n JSONSchemaFormResultWithFieldsets,\n FlowOptions,\n JSFModify,\n} from '@/src/flows/types';\nimport { clearBase64Data } from '@/src/lib/utils';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport {\n contractorPlusProductIdentifier,\n contractorStandardProductIdentifier,\n corProductIdentifier,\n eorProductIdentifier,\n FEATURES_BY_IDENTIFIER,\n IR35_FILE_SUBTYPE,\n ProductType,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport { $TSFixMe, JSFField } from '@/src/types/remoteFlows';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport {\n useDownloadFile,\n useEmploymentFiles,\n useUploadFile,\n} from '@/src/common/api/files';\nimport { convertFromCents } from '@/src/components/form/utils';\nimport { countriesOptions } from '@/src/common/api/countries';\nimport {\n buildSelectCountryJsfModify,\n selectCountryStepSchema,\n} from '@/src/common/selectCountryStep';\nimport { shouldIncludeProduct } from '@/src/flows/ContractorOnboarding/utils';\nimport { useCompanyPricingPlans, hasCompany } from '@/src/common/api/companies';\nimport { useIdentity } from '@/src/common/api/identity';\n\n/**\n * Get the contract document signature schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The contract document signature schema\n */\nexport const useGetContractDocumentSignatureSchema = ({\n fieldValues,\n options,\n}: {\n fieldValues: FieldValues;\n options?: { queryOptions?: { enabled?: boolean }; jsfModify?: JSFModify };\n}) => {\n return useQuery({\n queryKey: [\n 'contract-document-signature',\n fieldValues.review_completed,\n options?.jsfModify,\n ],\n queryFn: async () => {\n return createHeadlessForm(signatureSchema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\n/**\n * Signs the contract document\n * @param employmentId - The employment ID\n * @param contractDocumentId - The contract document ID\n * @param payload - The payload\n * @returns The signed contract document\n */\nexport const useSignContractDocument = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n contractDocumentId,\n payload,\n }: {\n employmentId: string;\n contractDocumentId: string;\n payload: SignContractDocument;\n }) => {\n return postV1ContractorsEmploymentsEmploymentIdContractDocumentsContractDocumentIdSign(\n {\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n contract_document_id: contractDocumentId,\n },\n },\n );\n },\n });\n};\n\n/**\n * Get the contract document for a given employment and contract document ID\n * @param employmentId - The employment ID\n * @param contractDocumentId - The contract document ID\n * @returns The contract document\n */\nexport const useGetShowContractDocument = ({\n employmentId,\n contractDocumentId,\n options,\n}: {\n employmentId: string;\n contractDocumentId: string;\n options?: { queryOptions?: { enabled?: boolean }; jsfModify?: JSFModify };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contract-document', employmentId, contractDocumentId],\n queryFn: async () => {\n return getV1ContractorsEmploymentsEmploymentIdContractDocumentsId({\n client: client as Client,\n path: { employment_id: employmentId, id: contractDocumentId },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return {\n ...data?.data,\n contract_document: {\n ...data?.data?.contract_document,\n content: clearBase64Data(\n data?.data?.contract_document?.content as $TSFixMe,\n ),\n },\n };\n },\n });\n};\n\nexport const useHasCompanySignedContract = ({\n employmentId,\n contractDocumentId,\n options,\n}: {\n employmentId: string;\n contractDocumentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { data: documentPreviewPdf } = useGetShowContractDocument({\n employmentId,\n contractDocumentId,\n options: {\n queryOptions: {\n enabled: options?.queryOptions?.enabled,\n },\n },\n });\n\n const hasCompanySignedContract =\n documentPreviewPdf?.contract_document?.signatories?.some(\n (signatory) =>\n signatory.type === 'company' && signatory.status === 'signed',\n );\n\n return {\n hasCompanySignedContract,\n };\n};\n/**\n * Get the contractor subscriptions for the given employment id\n * @param employmentId - The employment ID\n * @returns The contractor subscriptions available\n */\nexport const useGetContractorSubscriptions = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-subscriptions', employmentId],\n queryFn: async () => {\n return getV1ContractorsEmploymentsEmploymentIdContractorSubscriptions({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\n },\n });\n};\n\n/**\n * Upgrade or downgrade contractor subscription\n */\nexport const usePostManageContractorSubscriptions = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: ManageContractorPlusSubscriptionOperationsParams;\n }) => {\n return postV1ContractorsEmploymentsEmploymentIdContractorPlusSubscription(\n {\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n },\n );\n },\n });\n};\n\n/**\n * Saves the contractor details data\n * @param employmentId - The employment ID\n * @param payload - The payload\n * @returns The contractor contract document\n */\nexport const useCreateContractorContractDocument = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: CreateContractDocument;\n }) => {\n return postV1ContractorsEmploymentsEmploymentIdContractDocuments({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\nexport const CONTRACT_PRODUCT_TITLES = {\n [contractorStandardProductIdentifier]: 'Contractor Management',\n [contractorPlusProductIdentifier]: 'Contractor Management Plus',\n [corProductIdentifier]: 'Contractor of Record',\n};\n\nconst useEorSubscription = (options?: { enabled?: boolean }) => {\n const { data: pricingPlans, isLoading: isLoadingPricingPlans } =\n useCompanyPricingPlans({\n enabled: options?.enabled,\n });\n\n const eorPricingPlan = pricingPlans?.find(\n (plan) => plan.product.name === 'EOR Monthly',\n );\n\n const eorSubscription = eorPricingPlan\n ? {\n product: {\n identifier: eorProductIdentifier,\n short_name: 'EOR',\n },\n currency: eorPricingPlan.price.currency,\n price: {\n amount: convertFromCents(eorPricingPlan.price.amount),\n },\n features: [\n 'Contract between Remote and employee',\n 'Remote manages onboarding, payroll, and compliance',\n 'Manages taxes, benefits, and time-off tracking',\n 'Handles contracts, transfers, and terminations',\n ],\n description: 'Enables hiring in countries without a local entity',\n label: 'Employer of Record',\n value: eorProductIdentifier,\n }\n : null;\n\n return { eorSubscription, isLoading: isLoadingPricingPlans };\n};\n\ntype SelectedCountry =\n | (Pick<Country, 'eor_onboarding' | 'contractor_products_available'> & {\n label: string;\n })\n | undefined;\n\nconst addEorToFieldOptions = (\n fieldOptions: $TSFixMe[],\n eorSubscription: ReturnType<typeof useEorSubscription>['eorSubscription'],\n excludeProducts?: ProductType[],\n) => {\n if (\n eorSubscription &&\n shouldIncludeProduct(eorProductIdentifier, excludeProducts)\n ) {\n fieldOptions.push({\n label: eorSubscription.label,\n value: eorSubscription.value,\n description: eorSubscription.description,\n meta: {\n features: eorSubscription.features,\n price: {\n amount: eorSubscription.price.amount,\n currencyCode: eorSubscription.currency?.code ?? '',\n },\n },\n disabled: false,\n });\n }\n return fieldOptions;\n};\n\nexport const useContractorSubscriptionSchemaField = (\n employmentId: string,\n selectedCountry: SelectedCountry,\n options?: FlowOptions & {\n queryOptions?: { enabled?: boolean };\n excludeProducts?: ProductType[];\n },\n) => {\n const {\n data: contractorSubscriptions,\n isLoading,\n refetch,\n } = useGetContractorSubscriptions({\n employmentId: employmentId,\n options: {\n queryOptions: options?.queryOptions,\n },\n });\n\n const filteredContractorSubscriptions = useMemo(\n () =>\n contractorSubscriptions?.filter((subscription) =>\n shouldIncludeProduct(\n subscription.product.identifier ?? '',\n options?.excludeProducts,\n ),\n ) ?? [],\n [contractorSubscriptions, options?.excludeProducts],\n );\n\n // maximum number of subscriptions\n const MAXIMUM_CONTRACTOR_SUBSCRIPTIONS_COUNT = 3;\n\n const isMissingSubscriptions = contractorSubscriptions\n ? contractorSubscriptions?.length < MAXIMUM_CONTRACTOR_SUBSCRIPTIONS_COUNT\n : false;\n\n const corSubscription = contractorSubscriptions?.find(\n (subscription) => subscription.product.identifier === corProductIdentifier,\n );\n\n const isEligibilityQuestionnaireBlocked =\n corSubscription?.eligibility_questionnaire?.is_blocking;\n\n const showEorSubscription =\n (isMissingSubscriptions || isEligibilityQuestionnaireBlocked) &&\n selectedCountry?.eor_onboarding &&\n !options?.excludeProducts?.includes('eor');\n\n const { eorSubscription, isLoading: isLoadingEorSubscription } =\n useEorSubscription({\n enabled: showEorSubscription,\n });\n\n const hasAvailableOptions =\n filteredContractorSubscriptions.length > 0 ||\n (showEorSubscription && eorSubscription !== null);\n\n const form = createHeadlessForm(\n selectContractorSubscriptionStepSchema.data.schema,\n {},\n {\n ...options,\n jsfModify: {\n ...options?.jsfModify,\n // If no filtered subscriptions are available, make the subscription field optional\n required: hasAvailableOptions\n ? options?.jsfModify?.required\n : (existingRequired: string[]) =>\n existingRequired.filter(\n (fieldName: string) => fieldName !== 'subscription',\n ),\n },\n },\n );\n\n const field: JSFField | undefined = form.fields.find(\n (field) => field.name === 'subscription',\n ) as JSFField | undefined;\n\n if (field) {\n // Start with contractor management options\n const contractorOptions = filteredContractorSubscriptions.map((opts) => {\n const product = opts.product;\n const price = opts.price.amount;\n const currencyCode = opts.currency.code;\n const title =\n CONTRACT_PRODUCT_TITLES[\n product.identifier as keyof typeof CONTRACT_PRODUCT_TITLES\n ] ?? '';\n const label = title;\n const value = product.identifier ?? '';\n const description = product.description ?? '';\n\n if (!product.description) {\n console.error(\n `[Data Integrity] Missing description for product: ${product.identifier}`,\n { product },\n );\n }\n\n const features =\n product.features ??\n FEATURES_BY_IDENTIFIER[\n product.identifier as keyof typeof FEATURES_BY_IDENTIFIER\n ] ??\n [];\n const meta = {\n features,\n price: {\n amount: convertFromCents(price),\n currencyCode: currencyCode,\n },\n };\n return {\n label,\n value,\n description,\n meta,\n disabled:\n isEligibilityQuestionnaireBlocked &&\n product.identifier !== contractorStandardProductIdentifier,\n };\n });\n\n // Sort contractor options\n contractorOptions.sort((a, b) => a.label.localeCompare(b.label));\n\n // Build otherSubscriptions (EOR) with separator metadata\n const otherOptions: $TSFixMe[] = [];\n if (showEorSubscription) {\n addEorToFieldOptions(\n otherOptions as unknown as $TSFixMe[],\n eorSubscription,\n options?.excludeProducts,\n );\n\n // Add separator metadata to first \"other\" option\n // only the first option to avoid problems when iterating over the options\n if (otherOptions.length > 0) {\n otherOptions[0].meta = {\n ...otherOptions[0].meta,\n groupSeparator: {\n show: true,\n },\n };\n }\n }\n\n // Combine all options into the single field\n field.options = [...contractorOptions, ...otherOptions];\n }\n\n return {\n isLoading: isLoading || isLoadingEorSubscription,\n form,\n contractorSubscriptions,\n filteredContractorSubscriptions,\n refetch,\n isEligibilityQuestionnaireBlocked,\n };\n};\n\nexport const useUpdateUKandSaudiFields = (\n createContractorContractDocumentMutation: ReturnType<\n typeof useCreateContractorContractDocument\n >,\n uploadFileMutation: ReturnType<typeof useUploadFile>,\n parsedValues: FieldValues,\n) => {\n const { mutateAsyncOrThrow: uploadFileMutationAsync } =\n mutationToPromise(uploadFileMutation);\n const { mutateAsyncOrThrow: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n return {\n mutateAsync: async ({ employmentId }: { employmentId: string }) => {\n const {\n nationality_status: nationalityStatus,\n ir35: ir35Status,\n ir35_sds_file: ir35SdsFile,\n } = parsedValues;\n const ir35ContractDetailsPayload = {\n contract_document: {\n ir_35: ir35Status,\n },\n };\n const nationalityContractDetailsPayload = {\n contract_document: {\n nationality: nationalityStatus,\n },\n };\n if (ir35Status) {\n await createContractorContractDocumentMutationAsync({\n employmentId: employmentId,\n payload: ir35ContractDetailsPayload,\n });\n\n if (ir35SdsFile) {\n return uploadFileMutationAsync({\n employment_id: employmentId,\n file: ir35SdsFile,\n sub_type: IR35_FILE_SUBTYPE,\n });\n }\n return Promise.resolve();\n }\n // nationality status is sent for the countries SAU, KWT, OMN, QAT, BHR\n if (nationalityStatus) {\n return createContractorContractDocumentMutationAsync({\n employmentId: employmentId,\n payload: nationalityContractDetailsPayload,\n });\n }\n\n return Promise.resolve();\n },\n };\n};\n\nexport const useGetIR35File = (\n employmentId: string,\n options?: { enabled?: boolean },\n) => {\n const { data: ir35Files, isLoading: isLoadingFiles } = useEmploymentFiles(\n employmentId,\n {\n sub_type: IR35_FILE_SUBTYPE,\n },\n {\n ...options,\n select: ({ data }) =>\n data?.files?.filter((file) => file.sub_type === IR35_FILE_SUBTYPE),\n },\n );\n const id = ir35Files?.[0]?.id;\n\n const downloadQuery = useDownloadFile(id as string);\n\n return {\n ...downloadQuery,\n isLoading: isLoadingFiles || downloadQuery.isLoading,\n };\n};\n\n/**\n * Get the contract documents for a given employment\n * @param employmentId - The employment ID\n * @param options - The options\n * @returns The contract documents\n */\nexport const useGetContractDocuments = (\n employmentId: string,\n options?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contract-documents', employmentId],\n queryFn: async () => {\n return getV1EmploymentsEmploymentIdContractDocuments({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n enabled: options?.enabled,\n select: ({ data }) => {\n return data?.data?.contract_documents;\n },\n });\n};\n\nexport const useGetEligibilityQuestionnaire = ({\n options,\n fieldValues,\n}: {\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n fieldValues: FieldValues;\n}) => {\n const { client } = useClient();\n return useQuery<\n EligibilityQuestionnaireJsonSchemaResponse['data'],\n Error,\n JSONSchemaFormResultWithFieldsets\n >({\n queryKey: ['eligibility-questionnaire'],\n queryFn: async (): Promise<\n EligibilityQuestionnaireJsonSchemaResponse['data']\n > => {\n const response = await getV1ContractorsSchemasEligibilityQuestionnaire({\n client: client as Client,\n query: {\n type: 'contractor_of_record',\n json_schema_version: 1,\n },\n });\n\n // Extract the data from the response wrapper\n if (response.error) {\n throw new Error('Failed to fetch eligibility questionnaire');\n }\n\n return response.data\n .data as EligibilityQuestionnaireJsonSchemaResponse['data'];\n },\n select: (data: EligibilityQuestionnaireJsonSchemaResponse['data']) => {\n const schema = data?.schema || {};\n return createHeadlessForm(schema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\nexport const usePostCreateEligibilityQuestionnaire = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: SubmitEligibilityQuestionnaireRequest['responses'];\n }) => {\n return postV1ContractorsEligibilityQuestionnaire({\n client: client as Client,\n body: {\n employment_slug: employmentId,\n responses: payload,\n type: 'contractor_of_record',\n },\n query: {\n json_schema_version: 1, // TODO: json_schema_version should be dynamic but fixed for now\n },\n });\n },\n });\n};\n\nexport const usePostManageContractorCorSubscription = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ employmentId }: { employmentId: string }) => {\n return postV1ContractorsEmploymentsEmploymentIdContractorCorSubscription({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\nexport const useDeleteContractorCorSubscription = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ employmentId }: { employmentId: string }) => {\n return deleteV1ContractorsEmploymentsEmploymentIdContractorCorSubscription(\n {\n client: client as Client,\n path: { employment_id: employmentId },\n },\n );\n },\n });\n};\n\nexport const useSetContractOrigin = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n contractOrigin,\n templateType,\n }: {\n employmentId: string;\n contractOrigin: PostV1EmploymentsEmploymentIdContractOriginData['body']['contract_origin'];\n templateType: PostV1EmploymentsEmploymentIdContractOriginData['body']['template_type'];\n }) => {\n return postV1EmploymentsEmploymentIdContractOrigin({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: {\n contract_origin: contractOrigin,\n template_type: templateType,\n },\n });\n },\n });\n};\n\nexport const useGetContractOriginSchema = ({\n fieldValues,\n options,\n}: {\n fieldValues: FieldValues;\n options?: { queryOptions?: { enabled?: boolean }; jsfModify?: JSFModify };\n}) => {\n return useQuery({\n queryKey: ['contract-origin-schema', options?.jsfModify],\n queryFn: async () => {\n return createHeadlessForm(contractOriginSchema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\n// Invoice-schedule API hooks are shared with the standalone InvoiceSchedule flow and live in\n// src/common/invoice-schedules. Re-exported here so existing imports keep resolving.\nexport {\n invoiceSchedulesOptions,\n useCreateInvoiceSchedule,\n useGetCreateInvoiceScheduleSchema,\n useGetExistingInvoiceSchedule,\n usePreviewContractorInvoice,\n useSkipInvoiceSchedule,\n useUpdateInvoiceSchedule,\n} from '@/src/common/invoice-schedules/api';\n\nexport const useGetInvoiceScheduleSchema = ({\n enabled,\n jsfModify,\n}: {\n enabled?: boolean;\n jsfModify?: JSFModify;\n}) => {\n return useMemo(() => {\n if (!enabled) return null;\n return createHeadlessForm(\n invoiceScheduleSchema,\n {},\n {\n jsfModify,\n },\n );\n }, [enabled, jsfModify]);\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { client } = useClient();\n const { data: countries, isLoading } = useQuery({\n ...countriesOptions(client as Client, 'contractor-onboarding-countries'),\n select: (response) => {\n return (\n response.data?.data?.map((country) => {\n return {\n label: country.name,\n value: country.code,\n eor_onboarding: country.eor_onboarding,\n contractor_products_available:\n country.contractor_products_available,\n };\n }) || []\n );\n },\n enabled: options?.queryOptions?.enabled,\n });\n\n const selectCountryForm = useMemo(\n () =>\n createHeadlessForm(\n selectCountryStepSchema.data.schema,\n {},\n {\n jsfModify: buildSelectCountryJsfModify(countries, options?.jsfModify),\n },\n ),\n [countries, options?.jsfModify],\n );\n\n return {\n isLoading,\n selectCountryForm,\n countries,\n };\n};\n\nexport const useCompanyOpenTasks = ({\n options,\n}: {\n options?: { queryOptions?: { enabled?: boolean } };\n} = {}) => {\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['company-open-tasks', companyId],\n queryFn: () =>\n getV1CompaniesCompanyIdActions({\n client: client as Client,\n path: { company_id: companyId },\n }),\n select: ({ data }) => data?.data?.actions ?? ([] as CompanyAction[]),\n enabled: (options?.queryOptions?.enabled ?? true) && !!companyId,\n });\n};\n","import { useMutation, useQuery, UseQueryOptions } from '@tanstack/react-query';\nimport { Client } from '@/src/client/client';\nimport {\n getV1EmploymentsEmploymentIdFiles,\n getV1FilesId,\n postV1Documents,\n} from '@/src/client/sdk.gen';\nimport {\n GetV1EmploymentsEmploymentIdFilesData,\n GetV1EmploymentsEmploymentIdFilesErrors,\n File as ApiFile,\n ListFilesResponse,\n PostV1DocumentsData,\n} from '@/src/client/types.gen';\nimport { useClient } from '@/src/context';\n\n/**\n * Hook to upload a file associated with a specified employment.\n * @returns A mutation result for uploading employee files.\n */\nexport const useUploadFile = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (params: PostV1DocumentsData['body']) => {\n return postV1Documents({\n client: client as Client,\n body: params,\n headers: {\n Authorization: ``,\n },\n });\n },\n });\n};\n\n/**\n * Hook to download a file by its ID.\n * @param id - The ID of the file to download.\n * @returns A query result containing the file data.\n */\nexport const useDownloadFile = (id: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['download-file', id],\n queryFn: async () => {\n const result = await getV1FilesId({\n client: client as Client,\n path: { id: id },\n });\n\n if (result.error) {\n throw result.error;\n }\n\n return result.data;\n },\n select: ({ data }) => data?.file,\n enabled: !!id,\n });\n};\n\n/**\n * Hook to retrieve files associated with a specific employment.\n * @param employmentId - The ID of the employment to retrieve files for.\n * @param queryParams - The query parameters to filter the files.\n * @param queryOptions - Optional TanStack Query options to customize the query behavior.\n * @returns A query result containing the employment files.\n */\nexport const useEmploymentFiles = (\n employmentId: string,\n queryParams: GetV1EmploymentsEmploymentIdFilesData['query'],\n queryOptions?: Omit<\n UseQueryOptions<\n ListFilesResponse,\n GetV1EmploymentsEmploymentIdFilesErrors,\n ApiFile[] | undefined,\n unknown[]\n >,\n 'queryKey' | 'queryFn'\n >,\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment-files', employmentId],\n queryFn: async () => {\n const result = await getV1EmploymentsEmploymentIdFiles({\n client: client as Client,\n path: { employment_id: employmentId },\n query: queryParams,\n });\n\n if (result.error) {\n throw result.error;\n }\n\n return result.data;\n },\n ...queryOptions,\n });\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { useClient } from '@/src/context';\nimport {\n getV1CompaniesCompanyIdPricingPlans,\n IdentityCurrentResponse,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useIdentity } from '@/src/common/api/identity';\n\nexport function hasCompany(\n identity: IdentityCurrentResponse['data'] | undefined,\n): identity is Extract<\n IdentityCurrentResponse['data'],\n { company: { id: string } }\n> {\n return identity != null && 'company' in identity;\n}\n\nexport const useCompanyPricingPlans = (\n queryOptions: { enabled?: boolean } = { enabled: true },\n) => {\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n const { client } = useClient();\n return useQuery({\n queryKey: ['pricing-plans', companyId],\n queryFn: () =>\n getV1CompaniesCompanyIdPricingPlans({\n client: client as Client,\n path: { company_id: companyId },\n }),\n select: (data) => data.data?.data?.pricing_plans,\n enabled: Boolean(queryOptions?.enabled) && !!companyId,\n });\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getV1IdentityCurrent } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const useIdentity = () => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['identity'],\n queryFn: () =>\n getV1IdentityCurrent({\n client: client as Client,\n headers: { Authorization: `` },\n }),\n select: (data) => data.data?.data,\n });\n};\n"],"mappings":"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","names":["useMemo","useMutation","useQuery","useMutation","useQuery","useUploadFile","__name","client","useClient","useMutation","params","postV1Documents","useDownloadFile","id","useQuery","result","getV1FilesId","data","useEmploymentFiles","employmentId","queryParams","queryOptions","getV1EmploymentsEmploymentIdFiles","useQuery","useQuery","useIdentity","__name","client","useClient","useQuery","getV1IdentityCurrent","data","hasCompany","identity","__name","useCompanyPricingPlans","queryOptions","useIdentity","companyId","client","useClient","useQuery","getV1CompaniesCompanyIdPricingPlans","data","useGetContractDocumentSignatureSchema","__name","fieldValues","options","useQuery","createHeadlessForm","signatureSchema","useSignContractDocument","client","useClient","useMutation","employmentId","contractDocumentId","payload","postV1ContractorsEmploymentsEmploymentIdContractDocumentsContractDocumentIdSign","useGetShowContractDocument","getV1ContractorsEmploymentsEmploymentIdContractDocumentsId","data","clearBase64Data","useHasCompanySignedContract","documentPreviewPdf","signatory","useGetContractorSubscriptions","getV1ContractorsEmploymentsEmploymentIdContractorSubscriptions","usePostManageContractorSubscriptions","postV1ContractorsEmploymentsEmploymentIdContractorPlusSubscription","useCreateContractorContractDocument","postV1ContractorsEmploymentsEmploymentIdContractDocuments","CONTRACT_PRODUCT_TITLES","contractorStandardProductIdentifier","contractorPlusProductIdentifier","corProductIdentifier","useEorSubscription","pricingPlans","isLoadingPricingPlans","useCompanyPricingPlans","eorPricingPlan","plan","eorProductIdentifier","convertFromCents","addEorToFieldOptions","fieldOptions","eorSubscription","excludeProducts","shouldIncludeProduct","useContractorSubscriptionSchemaField","selectedCountry","contractorSubscriptions","isLoading","refetch","filteredContractorSubscriptions","useMemo","subscription","isMissingSubscriptions","isEligibilityQuestionnaireBlocked","showEorSubscription","isLoadingEorSubscription","hasAvailableOptions","form","selectContractorSubscriptionStepSchema","existingRequired","fieldName","field","contractorOptions","opts","product","price","currencyCode","label","value","description","meta","FEATURES_BY_IDENTIFIER","a","b","otherOptions","useUpdateUKandSaudiFields","createContractorContractDocumentMutation","uploadFileMutation","parsedValues","uploadFileMutationAsync","mutationToPromise","createContractorContractDocumentMutationAsync","nationalityStatus","ir35Status","ir35SdsFile","ir35ContractDetailsPayload","nationalityContractDetailsPayload","IR35_FILE_SUBTYPE","useGetIR35File","ir35Files","isLoadingFiles","useEmploymentFiles","file","id","downloadQuery","useDownloadFile","useGetContractDocuments","getV1EmploymentsEmploymentIdContractDocuments","useGetEligibilityQuestionnaire","response","getV1ContractorsSchemasEligibilityQuestionnaire","schema","usePostCreateEligibilityQuestionnaire","postV1ContractorsEligibilityQuestionnaire","usePostManageContractorCorSubscription","postV1ContractorsEmploymentsEmploymentIdContractorCorSubscription","useDeleteContractorCorSubscription","deleteV1ContractorsEmploymentsEmploymentIdContractorCorSubscription","useSetContractOrigin","contractOrigin","templateType","postV1EmploymentsEmploymentIdContractOrigin","useGetContractOriginSchema","contractOriginSchema","useGetInvoiceScheduleSchema","enabled","jsfModify","invoiceScheduleSchema","useCountriesSchemaField","countries","countriesOptions","country","selectCountryForm","selectCountryStepSchema","buildSelectCountryJsfModify","useCompanyOpenTasks","identity","useIdentity","companyId","hasCompany","getV1CompaniesCompanyIdActions"]}
@@ -0,0 +1,2 @@
1
+ import{a as r}from"./chunk-X2CSXDCG.js";import{a as n}from"./chunk-A74I763T.js";import{a as t}from"./chunk-P37U34EQ.js";import{useId as e}from"react";import{jsx as u}from"react/jsx-runtime";var D=t(({render:c})=>{let m=e(),o=n();return u(r.Provider,{value:{formId:m,contractDocumentBag:o},children:c(o)})},"ContractDocumentFlow");export{D as a};
2
+ //# sourceMappingURL=chunk-IBHCQXIL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractDocument/ContractDocumentFlow.tsx"],"sourcesContent":["import { useId } from 'react';\nimport { ContractDocumentContext } from '@/src/flows/ContractDocument/context';\nimport { useContractDocument } from '@/src/flows/ContractDocument/hooks';\nimport { ContractDocumentFlowProps } from '@/src/flows/ContractDocument/types';\n\n/**\n * Standalone contract-document flow: contract details, then contract preview. Mount it\n * anywhere — it does not depend on the contractor onboarding flow.\n */\nexport const ContractDocumentFlow = ({ render }: ContractDocumentFlowProps) => {\n const formId = useId();\n const contractDocumentBag = useContractDocument();\n\n return (\n <ContractDocumentContext.Provider value={{ formId, contractDocumentBag }}>\n {render(contractDocumentBag)}\n </ContractDocumentContext.Provider>\n );\n};\n"],"mappings":"wHAAA,OAAS,SAAAA,MAAa,QAclB,cAAAC,MAAA,oBALG,IAAMC,EAAuBC,EAAA,CAAC,CAAE,OAAAC,CAAO,IAAiC,CAC7E,IAAMC,EAASC,EAAM,EACfC,EAAsBC,EAAoB,EAEhD,OACEP,EAACQ,EAAwB,SAAxB,CAAiC,MAAO,CAAE,OAAAJ,EAAQ,oBAAAE,CAAoB,EACpE,SAAAH,EAAOG,CAAmB,EAC7B,CAEJ,EAToC","names":["useId","jsx","ContractDocumentFlow","__name","render","formId","useId","contractDocumentBag","useContractDocument","ContractDocumentContext"]}
@@ -1,2 +1,2 @@
1
- import{b as w,e as V,h as F}from"./chunk-FYCOEJEZ.js";import{b as S}from"./chunk-AXZ4IDY7.js";import{a as P}from"./chunk-R23HFBV4.js";import{b as c,h as l,t as p}from"./chunk-C4HFMTSB.js";import{a as h}from"./chunk-P37U34EQ.js";import{useCallback as a,useState as _}from"react";var J=h(({employmentId:e,jsfModify:I})=>{let[C,g]=_({}),{data:y,isLoading:T}=P({employmentId:e,enabled:!!e}),u=y?.contractor_type==="cor",{data:i,isLoading:b}=w({enabled:!0,employmentId:e,jsfModify:I,includeOneTime:!0,isContractorOfRecord:u,includeCustomDays:!0,fieldValues:C}),d=V(),{mutateAsyncOrThrow:v}=c(d),m=F(),{mutateAsyncOrThrow:f}=c(m),O=a(o=>{g(o)},[]),L=a(async o=>{if(!i)return null;let n=await l(o,i.fields,{isPartialValidation:!1});return i.handleValidation(n)??null},[i]),t=a(async o=>await l(o,i?.fields??[],{isPartialValidation:!1}),[i]),R=a(async o=>{let n=await t(o);return{employment_id:e,...S(n)}},[e,t]),r=a(()=>{if(!e)throw new Error("No contractor to act on. Pass a non-empty `employmentId` to the flow.")},[e]),E=a(async o=>{r();let n=await t(o),s=(await f({employmentId:e,values:n}))?.data?.contractor_invoice_preview;if(s)return{...s,content:p(s.content)}},[r,e,t,f]),M=a(async o=>{r();let n=await t(o);return v({employmentId:e,values:n})},[r,e,v,t]);return{fields:i?.fields??[],handleValidation:L,parseFormValues:R,onSubmit:M,previewInvoice:E,checkFieldUpdates:O,employmentId:e,isSubmitting:d.isPending,isPreviewingInvoice:m.isPending,isLoading:!e||T||b&&!i,isContractorOfRecord:u,meta:{fields:i?.fields}}},"useInvoiceSchedule");export{J as a};
2
- //# sourceMappingURL=chunk-74ZX4KQG.js.map
1
+ import{b as w,e as V,h as F}from"./chunk-IYWSUSS2.js";import{b as S}from"./chunk-AXZ4IDY7.js";import{a as P}from"./chunk-R23HFBV4.js";import{b as c,h as l,t as p}from"./chunk-C4HFMTSB.js";import{a as h}from"./chunk-P37U34EQ.js";import{useCallback as a,useState as _}from"react";var J=h(({employmentId:e,jsfModify:I})=>{let[C,g]=_({}),{data:y,isLoading:T}=P({employmentId:e,enabled:!!e}),u=y?.contractor_type==="cor",{data:i,isLoading:b}=w({enabled:!0,employmentId:e,jsfModify:I,includeOneTime:!0,isContractorOfRecord:u,includeCustomDays:!0,fieldValues:C}),d=V(),{mutateAsyncOrThrow:v}=c(d),m=F(),{mutateAsyncOrThrow:f}=c(m),O=a(o=>{g(o)},[]),L=a(async o=>{if(!i)return null;let n=await l(o,i.fields,{isPartialValidation:!1});return i.handleValidation(n)??null},[i]),t=a(async o=>await l(o,i?.fields??[],{isPartialValidation:!1}),[i]),R=a(async o=>{let n=await t(o);return{employment_id:e,...S(n)}},[e,t]),r=a(()=>{if(!e)throw new Error("No contractor to act on. Pass a non-empty `employmentId` to the flow.")},[e]),E=a(async o=>{r();let n=await t(o),s=(await f({employmentId:e,values:n}))?.data?.contractor_invoice_preview;if(s)return{...s,content:p(s.content)}},[r,e,t,f]),M=a(async o=>{r();let n=await t(o);return v({employmentId:e,values:n})},[r,e,v,t]);return{fields:i?.fields??[],handleValidation:L,parseFormValues:R,onSubmit:M,previewInvoice:E,checkFieldUpdates:O,employmentId:e,isSubmitting:d.isPending,isPreviewingInvoice:m.isPending,isLoading:!e||T||b&&!i,isContractorOfRecord:u,meta:{fields:i?.fields}}},"useInvoiceSchedule");export{J as a};
2
+ //# sourceMappingURL=chunk-IK2LTVOV.js.map
@@ -1,2 +1,2 @@
1
- import{a as B}from"./chunk-PVORGGT3.js";import{b as ne,c as re,f as ie}from"./chunk-GSUGHAHA.js";import{a as te}from"./chunk-BUR3X6FL.js";import{a as oe}from"./chunk-2L6AB46E.js";import{a as G}from"./chunk-3OHORFIX.js";import{c as x,h as ee}from"./chunk-C7KVPEVX.js";import{e as h}from"./chunk-SRLBVFNQ.js";import{l as Y,m as j,n as V,r as O}from"./chunk-C4HFMTSB.js";import{b as S,c as T}from"./chunk-H2O4CVKF.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as ro,useEffect as io,useRef as _e}from"react";import H from"lodash.omit";import{jsx as le}from"react/jsx-runtime";function se({description:e,label:o,name:t,minDate:n,maxDate:i,onChange:l,component:m,...s}){let{components:F}=S(),{control:c}=h(),f=T(),d;s.meta?.mot&&typeof s.meta.mot=="number"?d=Y(s.meta.mot):typeof n=="string"&&(d=new Date(`${n}T00:00:00`));let C;return i&&(C=new Date(`${i}T23:59:59`)),le(x,{control:c,name:t,render:({field:p,fieldState:g})=>{let u=m||F?.date;if(!u)throw new Error(`Date picker component not found for field ${t}`);let P={description:e,label:o,name:t,onChange:l,transformHtml:f,...d&&{minDate:d.toISOString()},...C&&{maxDate:C.toISOString()},...s};return le(u,{field:{...p,onChange:r(y=>{p.onChange(y),l?.(y)},"onChange")},fieldState:g,fieldData:P})}})}r(se,"DatePickerField");import{jsx as me}from"react/jsx-runtime";var Oe=r((e,o)=>{if(!o)return null;for(let t of e)if(t instanceof File&&t.size>o){let n=Math.round(o/1048576),i=Math.round(t.size/(1024*1024));return`File "${t.name}" exceeds maximum size of ${n}MB (file is ${i}MB)`}return null},"validateFileSize");function ae({name:e,description:o,label:t,multiple:n=!1,onChange:i,component:l,accept:m,maxSize:s,...F}){let{components:c}=S(),{control:f,setError:d,clearErrors:C}=h(),p=T(),g=r(async(u,P)=>{let y=Oe(u,s);if(y){d(e,{message:y});return}C(e),P.onChange(u),i?.(u)},"handleOnChange");return me(x,{control:f,name:e,render:({field:u,fieldState:P})=>{let y=l||c.file;if(!y)throw new Error(`File upload component not found for field ${e}`);let R={name:e,description:o,label:t,multiple:n,accept:m,maxFileSize:s,transformHtml:p,...F};return me(y,{field:{...u,value:u.value,onChange:r(async w=>g(w,u),"onChange")},fieldState:P,fieldData:R})}})}r(ae,"FileUploadField");import{jsx as de}from"react/jsx-runtime";function J({component:e,onChange:o,...t}){let{components:n}=S(),{control:i}=h(),l=T();return de(x,{control:i,name:t.name,render:({field:m,fieldState:s})=>{let F=e||n.number;if(!F)throw new Error(`Number component not found for field ${t.name}`);let c={onChange:o,transformHtml:l,...t};return de(F,{field:{...m,onChange:r(f=>{m.onChange(f),o?.(f)},"onChange")},fieldState:s,fieldData:c})}})}r(J,"NumberField");import{jsx as pe}from"react/jsx-runtime";function ce({name:e,defaultValue:o,description:t,label:n,options:i,onChange:l,component:m,...s}){let{components:F}=S(),{control:c}=h(),f=T();return pe(x,{control:c,name:e,defaultValue:o,render:({field:d,fieldState:C})=>{let p=m||F?.radio;if(!p)throw new Error(`Radio group component not found for field ${e}`);let g={name:e,defaultValue:o,description:t,label:n,options:i,transformHtml:f,...s};return pe(p,{field:{...d,onChange:r(u=>{d.onChange(u),l?.(u)},"onChange")},fieldState:C,fieldData:g})}})}r(ce,"RadioGroupField");import{jsx as ue}from"react/jsx-runtime";function Fe({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,component:m,...s}){let{control:F}=h(),{components:c}=S(),f=T();return ue(x,{defaultValue:n,control:F,name:o,render:({field:d,fieldState:C})=>{let p=m||c?.select;if(!p)throw new Error(`Select component not found for field ${o}`);let g={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,transformHtml:f,...s};return ue(p,{field:{...d,onChange:r(u=>{let y=(Array.isArray(s.jsonType)?s.jsonType.includes("number"):s.jsonType==="number")?Number(u):u;d.onChange(y),l?.(y)},"onChange")},fieldState:C,fieldData:g})}})}r(Fe,"SelectField");import{jsx as fe}from"react/jsx-runtime";function Ce({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,$meta:m,component:s,...F}){let{control:c}=h(),{components:f}=S(),d=T();return fe(x,{defaultValue:n,control:c,name:o,render:({field:C,fieldState:p})=>{let g=s||f.countries;if(!g)throw new Error(`Country component not found for field ${o}`);let u={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,$meta:m,transformHtml:d,...F};return fe(g,{field:{...C,onChange:r(P=>{C.onChange(P),l?.(P)},"onChange")},fieldState:p,fieldData:u})}})}r(Ce,"CountryField");import{jsx as ge}from"react/jsx-runtime";function he({name:e,description:o,label:t,onChange:n,maxLength:i,component:l,...m}){let{components:s}=S(),{control:F}=h(),c=T();return ge(x,{control:F,name:e,render:({field:f,fieldState:d})=>{let C=l||s.textarea;if(!C)throw new Error(`Text area component not found for field ${e}`);let p={name:e,description:o,label:t,maxLength:i,transformHtml:c,...m};return ge(C,{field:{...f,onChange:r(g=>{f.onChange(g),n?.(g)},"onChange")},fieldState:d,fieldData:p})}})}r(he,"TextAreaField");import{jsx as Se}from"react/jsx-runtime";function Te({component:e,onChange:o,...t}){let{components:n}=S(),{control:i}=h(),l=T();return Se(x,{control:i,name:t.name,render:({field:m,fieldState:s})=>{let F=e||n.email;if(!F)throw new Error(`Email component not found for field ${t.name}`);let c={onChange:o,transformHtml:l,...t};return Se(F,{field:{...m,onChange:r(f=>{m.onChange(f),o?.(f)},"onChange")},fieldState:s,fieldData:c})}})}r(Te,"EmailField");import{useEffect as Ge}from"react";import{jsx as xe}from"react/jsx-runtime";function ye(e){let{control:o,setValue:t}=h();return Ge(()=>{e.const!==void 0&&e.const===e.default&&e.name&&t(e.name,e.const)},[e.const,e.default,e.name,t]),xe(x,{control:o,name:e.name,render:({field:n})=>xe("input",{...n,type:"hidden"})})}r(ye,"HiddenField");import{useEffect as Ue,useState as Ze}from"react";import{jsx as Pe}from"react/jsx-runtime";function be(e){let{components:o}=S(),{setValue:t,control:n,watch:i}=h(),l=T(),m=i(e.name),[s,F]=Ze(m),{workHoursSummary:c,breakSummary:f}=re(s),d=ne(s);Ue(()=>{t(e.name,s)},[s,e.name,t]);function C(u){F(u)}r(C,"onSubmit");let p=e.component||o["work-schedule"];if(!p)throw new Error(`Work schedule component not found for field ${e.name}`);let g={...e,onSubmit:C,currentSchedule:s,transformHtml:l,defaultFormattedValue:{workHoursSummary:c,breakSummary:f,totalWorkHours:d}};return Pe(x,{control:n,name:e.name,render:({field:u,fieldState:P})=>Pe(p,{field:{...u,onChange:r(y=>{u.onChange(y),e.onChange?.(y)},"onChange")},fieldState:P,fieldData:g})})}r(be,"WorkScheduleField");import{jsx as $e}from"react/jsx-runtime";function De({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,component:m,...s}){let{control:F}=h(),{components:c}=S(),f=T();return $e(x,{defaultValue:n,control:F,name:o,render:({field:d,fieldState:C})=>{let p=m||c?.["multi-select"];if(!p)throw new Error(`Multi select component not found for field ${o}`);let g={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,transformHtml:f,...s};return $e(p,{field:{...d,onChange:r(u=>{d.onChange(u),l?.(u)},"onChange")},fieldState:C,fieldData:g})}})}r(De,"MultiSelectField");import{jsx as Ke}from"react/jsx-runtime";var Ee=r(e=>Ke(J,{maxLength:15,...e}),"MoneyField");import{useMemo as I,useCallback as Re,useState as qe,useEffect as Qe,useRef as Xe}from"react";import{jsx as U}from"react/jsx-runtime";function Ye(e){return e.replace(/\s/g,"")}r(Ye,"removeSpaces");function ve(e="",o){let t=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),n=e?.match(t);if(!n)return{prefix:"",dialCode:"",phoneNumber:e};let[,i,l,m]=n;return{prefix:i,dialCode:l,phoneNumber:m}}r(ve,"getStructuredNumberFromInternationalNumber");function we({dialCodes:e,dialCodeMaxLength:o},t){let{prefix:n}=ve(t);if(n)for(let i=o+n.length;i>n.length;i--){let l=t.slice(n.length,i);if(e[l])return e[l]}}r(we,"getCountryFromPhoneNumber");function Me(e){let o={},t=0;return e.forEach(n=>{n.areaCodes?n.areaCodes.forEach(i=>{let l=n.dialCode+i;o[l]=n,l.length>t&&(t=l.length)}):(o[n.dialCode]=n,n.dialCode.length>t&&(t=n.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:t}}r(Me,"getCountryDataByCountryCode");function je(e=""){let o=/\(([^)]+)\)/g,t=e.match(o);if(t?.length===2)return t[1].replace(/\(|\)/g,"").split("|")}r(je,"getAreaCodesFromPattern");function eo(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:je(o.pattern)}))}r(eo,"transformSchemaToCountries");function oo({field:e,fieldState:o,fieldData:t,component:n,onChangeCountryCode:i,onChangePhoneNumber:l}){let{value:m}=e,{options:s}=t,F=I(()=>eo(s),[s]),c=I(()=>Me(F),[F]),f=Xe(!1),[d,C]=qe(()=>we(Me(F),m||""));Qe(()=>{if((!m||m==="+")&&(f.current=!1),f.current)return;let R=we(c,m||"");C(R)},[m,c]);let{prefix:p,phoneNumber:g}=I(()=>ve(m,d),[m,d]),u=Re(R=>{if(!R)return;let w=`+${R.dialCode}${g}`;f.current=!0,C(R),e.onChange(w),i&&i(R)},[g,e,i]),P=Re(R=>{let w=Ye(R.target.value),D;if(d?D=`${p}${d.dialCode}${w}`:D=`${p}${w}`,e.onChange(D),l){let L={target:{value:D,name:e.name}};l(L)}},[d,p,e,l]),y=I(()=>({...t,onChangeCountryCode:u,onChangePhoneNumber:P,currentCountry:d,nationalPhoneNumber:g}),[t,u,P,d,g]);return U(n,{field:e,fieldState:o,fieldData:y})}r(oo,"TelFieldRenderer");function Ne({name:e,description:o,label:t,onChangeCountryCode:n,onChangePhoneNumber:i,component:l,...m}){let{components:s}=S(),{control:F}=h(),c=T();return U(x,{control:F,name:e,render:({field:f,fieldState:d})=>{let C=l||s.tel;if(!C)throw new Error(`Tel component not found for field ${e}`);let p={name:e,description:o,label:t,transformHtml:c,...m};return U(oo,{field:f,fieldState:d,fieldData:p,component:C,onChangeCountryCode:n,onChangePhoneNumber:i})}})}r(Ne,"TelField");import{jsx as ke}from"react/jsx-runtime";function Ve({name:e,description:o,label:t,type:n,onChange:i,component:l,maxLength:m,...s}){let{components:F}=S(),{control:c}=h(),f=T();return ke(x,{control:c,name:e,render:({field:d,fieldState:C})=>{let p=l||F?.time;if(!p)throw new Error(`Time component not found for field ${e}`);let g={name:e,description:o,label:t,type:n,onChange:i,maxLength:m,transformHtml:f,...s};return ke(p,{field:{...d,onChange:r(u=>{d.onChange(u),i?.(u)},"onChange")},fieldState:C,fieldData:g})}})}r(Ve,"TimeField");var Z={checkbox:ie,text:oe,email:Te,money:Ee,select:Fe,"multi-select":De,radio:ce,number:J,file:ae,date:se,textarea:he,countries:Ce,hidden:ye,tel:Ne,time:Ve,"work-schedule":be};import{useEffect as to}from"react";import{jsx as no}from"react/jsx-runtime";function He({name:e,value:o,description:t,statement:n,label:i,helpCenter:l}){let{setValue:m}=h(),{components:s}=S(),F=T();to(()=>{m(e,o)},[e,o,m]);let c=n?.description||t,f=n?.title?O(n.title):O(i);if(!c&&!n?.title)return null;let C=s?.forcedValue;if(!C)throw new Error(`Forced value component not found for field ${e}`);return no(C,{fieldData:{name:e,value:o,title:f,description:c,meta:{helpCenter:l},transformHtml:F}})}r(He,"ForcedValueField");import{Fragment as K,jsx as b,jsxs as N}from"react/jsx-runtime";function We({label:e,name:o,fields:t,description:n,components:i,statement:l,isFlatFieldset:m,extra:s,variant:F="outset",features:c,meta:f,Component:d,...C}){let{helpCenter:p}=f||{},{watch:g,setValue:u,trigger:P,formState:y}=h(),{components:R}=S(),w=c?.toggle?.stateField,D=w?g(w):c?.toggle?.defaultExpanded??!0,L=t.map(({name:a})=>`${o}.${a}`),Ae=t.some(a=>a.calculateDynamicProperties),_=g(L),Be=Ae?g():_,q=_e(_),k=_e(null),Je=r(()=>{w&&u(w,!D)},"toggleExpanded");io(()=>{let a=_,v=q.current,E=y.isSubmitted||y.submitCount>0,W=!1;for(let M=0;M<a.length;M++)if(a[M]!==void 0&&v[M]!==a[M]){W=!0;break}return W&&E&&(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{P()},50)),q.current=[...a],()=>{k.current&&clearTimeout(k.current)}},[_,P,y.isSubmitted,y.submitCount]);let Ie=R?.fieldsetToggle||te,Q=`${o}-content`,X=`${o}-header`;return d?b(d,{...C,name:o,value:g(o),setValue:a=>{u(o,a)}}):N("fieldset",{className:V("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[b("legend",{className:V("text-sm font-semibold px-2",F==="inset"&&"hidden"),children:e}),p?.callToAction&&p?.id&&F==="outset"&&b(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction}),F==="inset"&&N(K,{children:[N("div",{className:"RemoteFlows__FieldSetField__Header",id:X,"data-state":D?"expanded":"collapsed","aria-expanded":D,children:[b("h3",{className:V("RemoteFlows__FieldSetField__Title"),children:e}),c?.toggle?.enabled&&b(Ie,{isExpanded:D,onToggle:Je,"aria-expanded":D,"aria-controls":Q,"aria-label":`${D?"Hide":"Show"} ${e}`,className:V("RemoteFlows__FieldSetField__Toggle",c.toggle?.className),children:D?c.toggle.labels?.collapse??"Remove":c.toggle.labels?.expand??"Define"})]}),p?.callToAction&&p?.id&&b(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction})]}),D&&N("div",{id:Q,"aria-labelledby":X,role:"region",children:[n?b(ee,{as:"div",className:"mb-5 RemoteFlows__FieldSetField__Description",children:n}):null,N("div",{className:"grid gap-4",children:[t.map(a=>{if(a.calculateDynamicProperties&&(a={...a,...a.calculateDynamicProperties(Be,a)||{}}),a.isVisible===!1||a.deprecated)return null;let v=a.type,E=`${m?a.name:`${o}.${a.name}`}`,W=j(a),M=r(($,A)=>a.WrapperComponent?b(a.WrapperComponent,{children:$},A):b(ro,{children:$},A),"wrapWithCustomWrapper");if(W){let $=H(a,"WrapperComponent");return M(b(He,{name:E,description:$.description,value:$.const,statement:$.statement,label:$.label,helpCenter:$.meta?.helpCenter}),E)}if(v==="fieldset"){let $=H(a,"WrapperComponent");return M(b(We,{...$,name:E,components:i}),E)}if(v==="fieldset-flat"){let $=H(a,"WrapperComponent");return M(b(We,{...$,name:E,components:i,isFlatFieldset:!0}),E)}let z=Z[v];if(a.Component){let{Component:$}=a,A=H(a,"WrapperComponent");return M(N(K,{children:[b($,{...A,value:g(E),setValue:ze=>{u(E,ze)}}),a.statement?b(B,{...a.statement}):null,a.extra?a.extra:null]}),E)}if(!z)return N("p",{className:"error",children:["Field type ",v," not supported"]});v==="select"&&a.multiple&&(z=Z["multi-select"]);let Le=H(a,"WrapperComponent");return M(N(K,{children:[b(z,{...Le,name:E,component:i?.[v]}),a.statement?b(B,{...a.statement}):null,a.extra?a.extra:null]}),E)}),s||null,l?b(B,{...l}):null]})]})]})}r(We,"FieldSetField");export{Z as a,He as b,We as c};
2
- //# sourceMappingURL=chunk-KSSQR2CS.js.map
1
+ import{a as B}from"./chunk-PVORGGT3.js";import{a as te}from"./chunk-BUR3X6FL.js";import{b as ne,c as re,f as ie}from"./chunk-TNWH6PVQ.js";import{a as oe}from"./chunk-GYMFEHNM.js";import{a as G}from"./chunk-3OHORFIX.js";import{b as x,g as ee}from"./chunk-NEVSZEMH.js";import{e as h}from"./chunk-SRLBVFNQ.js";import{l as Y,m as j,n as V,r as O}from"./chunk-C4HFMTSB.js";import{b as S,c as T}from"./chunk-H2O4CVKF.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as ro,useEffect as io,useRef as _e}from"react";import H from"lodash.omit";import{jsx as le}from"react/jsx-runtime";function se({description:e,label:o,name:t,minDate:n,maxDate:i,onChange:l,component:m,...s}){let{components:F}=S(),{control:c}=h(),f=T(),d;s.meta?.mot&&typeof s.meta.mot=="number"?d=Y(s.meta.mot):typeof n=="string"&&(d=new Date(`${n}T00:00:00`));let C;return i&&(C=new Date(`${i}T23:59:59`)),le(x,{control:c,name:t,render:({field:p,fieldState:g})=>{let u=m||F?.date;if(!u)throw new Error(`Date picker component not found for field ${t}`);let P={description:e,label:o,name:t,onChange:l,transformHtml:f,...d&&{minDate:d.toISOString()},...C&&{maxDate:C.toISOString()},...s};return le(u,{field:{...p,onChange:r(y=>{p.onChange(y),l?.(y)},"onChange")},fieldState:g,fieldData:P})}})}r(se,"DatePickerField");import{jsx as me}from"react/jsx-runtime";var Oe=r((e,o)=>{if(!o)return null;for(let t of e)if(t instanceof File&&t.size>o){let n=Math.round(o/1048576),i=Math.round(t.size/(1024*1024));return`File "${t.name}" exceeds maximum size of ${n}MB (file is ${i}MB)`}return null},"validateFileSize");function ae({name:e,description:o,label:t,multiple:n=!1,onChange:i,component:l,accept:m,maxSize:s,...F}){let{components:c}=S(),{control:f,setError:d,clearErrors:C}=h(),p=T(),g=r(async(u,P)=>{let y=Oe(u,s);if(y){d(e,{message:y});return}C(e),P.onChange(u),i?.(u)},"handleOnChange");return me(x,{control:f,name:e,render:({field:u,fieldState:P})=>{let y=l||c.file;if(!y)throw new Error(`File upload component not found for field ${e}`);let R={name:e,description:o,label:t,multiple:n,accept:m,maxFileSize:s,transformHtml:p,...F};return me(y,{field:{...u,value:u.value,onChange:r(async w=>g(w,u),"onChange")},fieldState:P,fieldData:R})}})}r(ae,"FileUploadField");import{jsx as de}from"react/jsx-runtime";function J({component:e,onChange:o,...t}){let{components:n}=S(),{control:i}=h(),l=T();return de(x,{control:i,name:t.name,render:({field:m,fieldState:s})=>{let F=e||n.number;if(!F)throw new Error(`Number component not found for field ${t.name}`);let c={onChange:o,transformHtml:l,...t};return de(F,{field:{...m,onChange:r(f=>{m.onChange(f),o?.(f)},"onChange")},fieldState:s,fieldData:c})}})}r(J,"NumberField");import{jsx as pe}from"react/jsx-runtime";function ce({name:e,defaultValue:o,description:t,label:n,options:i,onChange:l,component:m,...s}){let{components:F}=S(),{control:c}=h(),f=T();return pe(x,{control:c,name:e,defaultValue:o,render:({field:d,fieldState:C})=>{let p=m||F?.radio;if(!p)throw new Error(`Radio group component not found for field ${e}`);let g={name:e,defaultValue:o,description:t,label:n,options:i,transformHtml:f,...s};return pe(p,{field:{...d,onChange:r(u=>{d.onChange(u),l?.(u)},"onChange")},fieldState:C,fieldData:g})}})}r(ce,"RadioGroupField");import{jsx as ue}from"react/jsx-runtime";function Fe({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,component:m,...s}){let{control:F}=h(),{components:c}=S(),f=T();return ue(x,{defaultValue:n,control:F,name:o,render:({field:d,fieldState:C})=>{let p=m||c?.select;if(!p)throw new Error(`Select component not found for field ${o}`);let g={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,transformHtml:f,...s};return ue(p,{field:{...d,onChange:r(u=>{let y=(Array.isArray(s.jsonType)?s.jsonType.includes("number"):s.jsonType==="number")?Number(u):u;d.onChange(y),l?.(y)},"onChange")},fieldState:C,fieldData:g})}})}r(Fe,"SelectField");import{jsx as fe}from"react/jsx-runtime";function Ce({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,$meta:m,component:s,...F}){let{control:c}=h(),{components:f}=S(),d=T();return fe(x,{defaultValue:n,control:c,name:o,render:({field:C,fieldState:p})=>{let g=s||f.countries;if(!g)throw new Error(`Country component not found for field ${o}`);let u={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,$meta:m,transformHtml:d,...F};return fe(g,{field:{...C,onChange:r(P=>{C.onChange(P),l?.(P)},"onChange")},fieldState:p,fieldData:u})}})}r(Ce,"CountryField");import{jsx as ge}from"react/jsx-runtime";function he({name:e,description:o,label:t,onChange:n,maxLength:i,component:l,...m}){let{components:s}=S(),{control:F}=h(),c=T();return ge(x,{control:F,name:e,render:({field:f,fieldState:d})=>{let C=l||s.textarea;if(!C)throw new Error(`Text area component not found for field ${e}`);let p={name:e,description:o,label:t,maxLength:i,transformHtml:c,...m};return ge(C,{field:{...f,onChange:r(g=>{f.onChange(g),n?.(g)},"onChange")},fieldState:d,fieldData:p})}})}r(he,"TextAreaField");import{jsx as Se}from"react/jsx-runtime";function Te({component:e,onChange:o,...t}){let{components:n}=S(),{control:i}=h(),l=T();return Se(x,{control:i,name:t.name,render:({field:m,fieldState:s})=>{let F=e||n.email;if(!F)throw new Error(`Email component not found for field ${t.name}`);let c={onChange:o,transformHtml:l,...t};return Se(F,{field:{...m,onChange:r(f=>{m.onChange(f),o?.(f)},"onChange")},fieldState:s,fieldData:c})}})}r(Te,"EmailField");import{useEffect as Ge}from"react";import{jsx as xe}from"react/jsx-runtime";function ye(e){let{control:o,setValue:t}=h();return Ge(()=>{e.const!==void 0&&e.const===e.default&&e.name&&t(e.name,e.const)},[e.const,e.default,e.name,t]),xe(x,{control:o,name:e.name,render:({field:n})=>xe("input",{...n,type:"hidden"})})}r(ye,"HiddenField");import{useEffect as Ue,useState as Ze}from"react";import{jsx as Pe}from"react/jsx-runtime";function be(e){let{components:o}=S(),{setValue:t,control:n,watch:i}=h(),l=T(),m=i(e.name),[s,F]=Ze(m),{workHoursSummary:c,breakSummary:f}=re(s),d=ne(s);Ue(()=>{t(e.name,s)},[s,e.name,t]);function C(u){F(u)}r(C,"onSubmit");let p=e.component||o["work-schedule"];if(!p)throw new Error(`Work schedule component not found for field ${e.name}`);let g={...e,onSubmit:C,currentSchedule:s,transformHtml:l,defaultFormattedValue:{workHoursSummary:c,breakSummary:f,totalWorkHours:d}};return Pe(x,{control:n,name:e.name,render:({field:u,fieldState:P})=>Pe(p,{field:{...u,onChange:r(y=>{u.onChange(y),e.onChange?.(y)},"onChange")},fieldState:P,fieldData:g})})}r(be,"WorkScheduleField");import{jsx as $e}from"react/jsx-runtime";function De({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,component:m,...s}){let{control:F}=h(),{components:c}=S(),f=T();return $e(x,{defaultValue:n,control:F,name:o,render:({field:d,fieldState:C})=>{let p=m||c?.["multi-select"];if(!p)throw new Error(`Multi select component not found for field ${o}`);let g={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,transformHtml:f,...s};return $e(p,{field:{...d,onChange:r(u=>{d.onChange(u),l?.(u)},"onChange")},fieldState:C,fieldData:g})}})}r(De,"MultiSelectField");import{jsx as Ke}from"react/jsx-runtime";var Ee=r(e=>Ke(J,{maxLength:15,...e}),"MoneyField");import{useMemo as I,useCallback as Re,useState as qe,useEffect as Qe,useRef as Xe}from"react";import{jsx as U}from"react/jsx-runtime";function Ye(e){return e.replace(/\s/g,"")}r(Ye,"removeSpaces");function ve(e="",o){let t=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),n=e?.match(t);if(!n)return{prefix:"",dialCode:"",phoneNumber:e};let[,i,l,m]=n;return{prefix:i,dialCode:l,phoneNumber:m}}r(ve,"getStructuredNumberFromInternationalNumber");function we({dialCodes:e,dialCodeMaxLength:o},t){let{prefix:n}=ve(t);if(n)for(let i=o+n.length;i>n.length;i--){let l=t.slice(n.length,i);if(e[l])return e[l]}}r(we,"getCountryFromPhoneNumber");function Me(e){let o={},t=0;return e.forEach(n=>{n.areaCodes?n.areaCodes.forEach(i=>{let l=n.dialCode+i;o[l]=n,l.length>t&&(t=l.length)}):(o[n.dialCode]=n,n.dialCode.length>t&&(t=n.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:t}}r(Me,"getCountryDataByCountryCode");function je(e=""){let o=/\(([^)]+)\)/g,t=e.match(o);if(t?.length===2)return t[1].replace(/\(|\)/g,"").split("|")}r(je,"getAreaCodesFromPattern");function eo(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:je(o.pattern)}))}r(eo,"transformSchemaToCountries");function oo({field:e,fieldState:o,fieldData:t,component:n,onChangeCountryCode:i,onChangePhoneNumber:l}){let{value:m}=e,{options:s}=t,F=I(()=>eo(s),[s]),c=I(()=>Me(F),[F]),f=Xe(!1),[d,C]=qe(()=>we(Me(F),m||""));Qe(()=>{if((!m||m==="+")&&(f.current=!1),f.current)return;let R=we(c,m||"");C(R)},[m,c]);let{prefix:p,phoneNumber:g}=I(()=>ve(m,d),[m,d]),u=Re(R=>{if(!R)return;let w=`+${R.dialCode}${g}`;f.current=!0,C(R),e.onChange(w),i&&i(R)},[g,e,i]),P=Re(R=>{let w=Ye(R.target.value),D;if(d?D=`${p}${d.dialCode}${w}`:D=`${p}${w}`,e.onChange(D),l){let L={target:{value:D,name:e.name}};l(L)}},[d,p,e,l]),y=I(()=>({...t,onChangeCountryCode:u,onChangePhoneNumber:P,currentCountry:d,nationalPhoneNumber:g}),[t,u,P,d,g]);return U(n,{field:e,fieldState:o,fieldData:y})}r(oo,"TelFieldRenderer");function Ne({name:e,description:o,label:t,onChangeCountryCode:n,onChangePhoneNumber:i,component:l,...m}){let{components:s}=S(),{control:F}=h(),c=T();return U(x,{control:F,name:e,render:({field:f,fieldState:d})=>{let C=l||s.tel;if(!C)throw new Error(`Tel component not found for field ${e}`);let p={name:e,description:o,label:t,transformHtml:c,...m};return U(oo,{field:f,fieldState:d,fieldData:p,component:C,onChangeCountryCode:n,onChangePhoneNumber:i})}})}r(Ne,"TelField");import{jsx as ke}from"react/jsx-runtime";function Ve({name:e,description:o,label:t,type:n,onChange:i,component:l,maxLength:m,...s}){let{components:F}=S(),{control:c}=h(),f=T();return ke(x,{control:c,name:e,render:({field:d,fieldState:C})=>{let p=l||F?.time;if(!p)throw new Error(`Time component not found for field ${e}`);let g={name:e,description:o,label:t,type:n,onChange:i,maxLength:m,transformHtml:f,...s};return ke(p,{field:{...d,onChange:r(u=>{d.onChange(u),i?.(u)},"onChange")},fieldState:C,fieldData:g})}})}r(Ve,"TimeField");var Z={checkbox:ie,text:oe,email:Te,money:Ee,select:Fe,"multi-select":De,radio:ce,number:J,file:ae,date:se,textarea:he,countries:Ce,hidden:ye,tel:Ne,time:Ve,"work-schedule":be};import{useEffect as to}from"react";import{jsx as no}from"react/jsx-runtime";function He({name:e,value:o,description:t,statement:n,label:i,helpCenter:l}){let{setValue:m}=h(),{components:s}=S(),F=T();to(()=>{m(e,o)},[e,o,m]);let c=n?.description||t,f=n?.title?O(n.title):O(i);if(!c&&!n?.title)return null;let C=s?.forcedValue;if(!C)throw new Error(`Forced value component not found for field ${e}`);return no(C,{fieldData:{name:e,value:o,title:f,description:c,meta:{helpCenter:l},transformHtml:F}})}r(He,"ForcedValueField");import{Fragment as K,jsx as b,jsxs as N}from"react/jsx-runtime";function We({label:e,name:o,fields:t,description:n,components:i,statement:l,isFlatFieldset:m,extra:s,variant:F="outset",features:c,meta:f,Component:d,...C}){let{helpCenter:p}=f||{},{watch:g,setValue:u,trigger:P,formState:y}=h(),{components:R}=S(),w=c?.toggle?.stateField,D=w?g(w):c?.toggle?.defaultExpanded??!0,L=t.map(({name:a})=>`${o}.${a}`),Ae=t.some(a=>a.calculateDynamicProperties),_=g(L),Be=Ae?g():_,q=_e(_),k=_e(null),Je=r(()=>{w&&u(w,!D)},"toggleExpanded");io(()=>{let a=_,v=q.current,E=y.isSubmitted||y.submitCount>0,W=!1;for(let M=0;M<a.length;M++)if(a[M]!==void 0&&v[M]!==a[M]){W=!0;break}return W&&E&&(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{P()},50)),q.current=[...a],()=>{k.current&&clearTimeout(k.current)}},[_,P,y.isSubmitted,y.submitCount]);let Ie=R?.fieldsetToggle||te,Q=`${o}-content`,X=`${o}-header`;return d?b(d,{...C,name:o,value:g(o),setValue:a=>{u(o,a)}}):N("fieldset",{className:V("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[b("legend",{className:V("text-sm font-semibold px-2",F==="inset"&&"hidden"),children:e}),p?.callToAction&&p?.id&&F==="outset"&&b(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction}),F==="inset"&&N(K,{children:[N("div",{className:"RemoteFlows__FieldSetField__Header",id:X,"data-state":D?"expanded":"collapsed","aria-expanded":D,children:[b("h3",{className:V("RemoteFlows__FieldSetField__Title"),children:e}),c?.toggle?.enabled&&b(Ie,{isExpanded:D,onToggle:Je,"aria-expanded":D,"aria-controls":Q,"aria-label":`${D?"Hide":"Show"} ${e}`,className:V("RemoteFlows__FieldSetField__Toggle",c.toggle?.className),children:D?c.toggle.labels?.collapse??"Remove":c.toggle.labels?.expand??"Define"})]}),p?.callToAction&&p?.id&&b(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction})]}),D&&N("div",{id:Q,"aria-labelledby":X,role:"region",children:[n?b(ee,{as:"div",className:"mb-5 RemoteFlows__FieldSetField__Description",children:n}):null,N("div",{className:"grid gap-4",children:[t.map(a=>{if(a.calculateDynamicProperties&&(a={...a,...a.calculateDynamicProperties(Be,a)||{}}),a.isVisible===!1||a.deprecated)return null;let v=a.type,E=`${m?a.name:`${o}.${a.name}`}`,W=j(a),M=r(($,A)=>a.WrapperComponent?b(a.WrapperComponent,{children:$},A):b(ro,{children:$},A),"wrapWithCustomWrapper");if(W){let $=H(a,"WrapperComponent");return M(b(He,{name:E,description:$.description,value:$.const,statement:$.statement,label:$.label,helpCenter:$.meta?.helpCenter}),E)}if(v==="fieldset"){let $=H(a,"WrapperComponent");return M(b(We,{...$,name:E,components:i}),E)}if(v==="fieldset-flat"){let $=H(a,"WrapperComponent");return M(b(We,{...$,name:E,components:i,isFlatFieldset:!0}),E)}let z=Z[v];if(a.Component){let{Component:$}=a,A=H(a,"WrapperComponent");return M(N(K,{children:[b($,{...A,value:g(E),setValue:ze=>{u(E,ze)}}),a.statement?b(B,{...a.statement}):null,a.extra?a.extra:null]}),E)}if(!z)return N("p",{className:"error",children:["Field type ",v," not supported"]});v==="select"&&a.multiple&&(z=Z["multi-select"]);let Le=H(a,"WrapperComponent");return M(N(K,{children:[b(z,{...Le,name:E,component:i?.[v]}),a.statement?b(B,{...a.statement}):null,a.extra?a.extra:null]}),E)}),s||null,l?b(B,{...l}):null]})]})]})}r(We,"FieldSetField");export{Z as a,He as b,We as c};
2
+ //# sourceMappingURL=chunk-IPQZBMOO.js.map
@@ -1,2 +1,2 @@
1
- import{a as _}from"./chunk-E7Y3YBZH.js";import{a as c}from"./chunk-2QVO3BVI.js";import{e as i,f as p,g as a,i as s,j as F}from"./chunk-C7KVPEVX.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as d}from"react/jsx-runtime";function w({field:o,fieldState:C,fieldData:m}){let{name:t,label:r,description:l}=m;return d(i,{"data-field":t,className:`RemoteFlows__TimeField__Item__${t}`,children:[r&&e(p,{className:"RemoteFlows__TimeField__Label",children:r}),e(a,{children:e(c,{...o,type:"time",value:o.value??"",onChange:T=>{o.onChange(T)},className:"RemoteFlows__TimeField__Input",placeholder:r})}),(l||m.meta?.helpCenter)&&e(s,{className:"RemoteFlows__TimeField__Description",helpCenter:e(_,{helpCenter:m.meta?.helpCenter}),children:l}),C.error&&e(F,{className:"RemoteFlows__TimeField__Error"})]})}n(w,"TimeFieldDefault");export{w as a};
2
- //# sourceMappingURL=chunk-NVOUXFGX.js.map
1
+ import{a as _}from"./chunk-E7Y3YBZH.js";import{a as c}from"./chunk-2QVO3BVI.js";import{d as i,e as p,f as a,h as s,i as F}from"./chunk-NEVSZEMH.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as d}from"react/jsx-runtime";function w({field:o,fieldState:C,fieldData:m}){let{name:t,label:r,description:l}=m;return d(i,{"data-field":t,className:`RemoteFlows__TimeField__Item__${t}`,children:[r&&e(p,{className:"RemoteFlows__TimeField__Label",children:r}),e(a,{children:e(c,{...o,type:"time",value:o.value??"",onChange:T=>{o.onChange(T)},className:"RemoteFlows__TimeField__Input",placeholder:r})}),(l||m.meta?.helpCenter)&&e(s,{className:"RemoteFlows__TimeField__Description",helpCenter:e(_,{helpCenter:m.meta?.helpCenter}),children:l}),C.error&&e(F,{className:"RemoteFlows__TimeField__Error"})]})}n(w,"TimeFieldDefault");export{w as a};
2
+ //# sourceMappingURL=chunk-IRQJR7KU.js.map
@@ -1,2 +1,2 @@
1
- import{a as d}from"./chunk-VSK4KV55.js";import{a as g}from"./chunk-3HMBTPH7.js";import{a as c}from"./chunk-XFVXRCMH.js";import{I as u,L as y,Y as h,ha as _,i as p,ya as f}from"./chunk-DAUDKN32.js";import{e as r}from"./chunk-H2O4CVKF.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as l,useQuery as F}from"@tanstack/react-query";var x=e((n,t,o,i)=>{let{client:s}=r(),a=i?.employmentId;return F({queryKey:["gp-form-schema",n,t,a],enabled:!!n&&!!t&&(i?.enabled??!0),retry:!1,queryFn:e(async()=>{let m=await y({client:s,headers:{Authorization:""},path:{country_code:n,form:t},...a?{query:{employment_id:a}}:{}});if(m.error||!m.data)throw new Error(`Failed to fetch ${t} schema`);return m},"queryFn"),select:e(({data:m})=>c(m?.data||{},o),"select")})},"useGPFormSchema"),G=e(n=>{let{client:t}=r();return F({...g(t,"gp-admin"),select:e(o=>{let i=o?.data?.data??[],s={...d,properties:{country_code:{...d.properties.country_code,oneOf:i.map(a=>({const:a.code,title:a.name}))}}};return c(s,n)},"select")})},"useGPCountrySelectSchema"),P=e(()=>{let{client:n}=r();return l({mutationFn:e(({countryCode:t,legalEntityId:o,basicInformation:i,externalId:s})=>p({client:n,headers:{Authorization:""},body:{type:"global_payroll_employee",country_code:t,engaged_by_entity_slug:o,basic_information:i,external_id:s}}),"mutationFn")})},"useGPCreateEmployment"),R=e(()=>{let{client:n}=r();return l({mutationFn:e(({employmentId:t,basicInformation:o})=>u({client:n,headers:{Authorization:""},path:{employment_id:t},body:{basic_information:o}}),"mutationFn")})},"useGPUpdateBasicInformation"),V=e(()=>{let{client:n}=r();return l({mutationFn:e(({employmentId:t,contractDetails:o})=>h({client:n,headers:{Authorization:""},path:{employment_id:t},body:{contract_details:o}}),"mutationFn")})},"useGPUpdateContractDetails"),w=e(()=>{let{client:n}=r();return l({mutationFn:e(({employmentId:t,administrativeDetails:o})=>f({client:n,headers:{Authorization:""},path:{employment_id:t},body:{administrative_details:o}}),"mutationFn")})},"useGPUpdateAdministrativeDetails"),v=e(()=>{let{client:n}=r();return l({mutationFn:e(({employmentId:t})=>_({client:n,headers:{Authorization:""},path:{employment_id:t}}),"mutationFn")})},"useGPInviteEmployee");export{x as a,G as b,P as c,R as d,V as e,w as f,v as g};
2
- //# sourceMappingURL=chunk-PAYZRCKY.js.map
1
+ import{a as d}from"./chunk-VSK4KV55.js";import{a as g}from"./chunk-3HMBTPH7.js";import{a as c}from"./chunk-JO5D2522.js";import{I as u,L as y,Y as h,ha as _,i as p,ya as f}from"./chunk-DAUDKN32.js";import{e as r}from"./chunk-H2O4CVKF.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as l,useQuery as F}from"@tanstack/react-query";var x=e((n,t,o,i)=>{let{client:s}=r(),a=i?.employmentId;return F({queryKey:["gp-form-schema",n,t,a],enabled:!!n&&!!t&&(i?.enabled??!0),retry:!1,queryFn:e(async()=>{let m=await y({client:s,headers:{Authorization:""},path:{country_code:n,form:t},...a?{query:{employment_id:a}}:{}});if(m.error||!m.data)throw new Error(`Failed to fetch ${t} schema`);return m},"queryFn"),select:e(({data:m})=>c(m?.data||{},o),"select")})},"useGPFormSchema"),G=e(n=>{let{client:t}=r();return F({...g(t,"gp-admin"),select:e(o=>{let i=o?.data?.data??[],s={...d,properties:{country_code:{...d.properties.country_code,oneOf:i.map(a=>({const:a.code,title:a.name}))}}};return c(s,n)},"select")})},"useGPCountrySelectSchema"),P=e(()=>{let{client:n}=r();return l({mutationFn:e(({countryCode:t,legalEntityId:o,basicInformation:i,externalId:s})=>p({client:n,headers:{Authorization:""},body:{type:"global_payroll_employee",country_code:t,engaged_by_entity_slug:o,basic_information:i,external_id:s}}),"mutationFn")})},"useGPCreateEmployment"),R=e(()=>{let{client:n}=r();return l({mutationFn:e(({employmentId:t,basicInformation:o})=>u({client:n,headers:{Authorization:""},path:{employment_id:t},body:{basic_information:o}}),"mutationFn")})},"useGPUpdateBasicInformation"),V=e(()=>{let{client:n}=r();return l({mutationFn:e(({employmentId:t,contractDetails:o})=>h({client:n,headers:{Authorization:""},path:{employment_id:t},body:{contract_details:o}}),"mutationFn")})},"useGPUpdateContractDetails"),w=e(()=>{let{client:n}=r();return l({mutationFn:e(({employmentId:t,administrativeDetails:o})=>f({client:n,headers:{Authorization:""},path:{employment_id:t},body:{administrative_details:o}}),"mutationFn")})},"useGPUpdateAdministrativeDetails"),v=e(()=>{let{client:n}=r();return l({mutationFn:e(({employmentId:t})=>_({client:n,headers:{Authorization:""},path:{employment_id:t}}),"mutationFn")})},"useGPInviteEmployee");export{x as a,G as b,P as c,R as d,V as e,w as f,v as g};
2
+ //# sourceMappingURL=chunk-ISPN7HQ5.js.map
@@ -1,2 +1,2 @@
1
- import{a as P,b as k,c as N}from"./chunk-B3MEKP45.js";import{a as C}from"./chunk-E7Y3YBZH.js";import{a as u,b as F}from"./chunk-LKHRHBFP.js";import{e as v,f as x,g as b,i as D,j as w}from"./chunk-C7KVPEVX.js";import{n as a}from"./chunk-C4HFMTSB.js";import{a as n}from"./chunk-P37U34EQ.js";import{CalendarIcon as T}from"lucide-react";import{format as Y}from"date-fns";import{ChevronLeft as O,ChevronRight as V}from"lucide-react";import{DayPicker as B}from"react-day-picker";import{jsx as p}from"react/jsx-runtime";function R({className:t,classNames:m,showOutsideDays:c=!0,...r}){return p(B,{showOutsideDays:c,className:a("p-3",t),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:a(u({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:a("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",r.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:a(u({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",...m},components:{IconLeft:n(({className:l,...o})=>p(O,{className:a("size-4",l),...o}),"IconLeft"),IconRight:n(({className:l,...o})=>p(V,{className:a("size-4",l),...o}),"IconRight")},...r})}n(R,"Calendar");import{useState as $}from"react";import{Fragment as E,jsx as e,jsxs as f}from"react/jsx-runtime";function re({field:t,fieldData:m,fieldState:c}){let{name:r,label:l,description:o,minDate:g,maxDate:y}=m,d=g?new Date(g):void 0,i=y?new Date(y):void 0,[M,_]=$(!1),I=new Date().getFullYear(),h=d?d.getFullYear():1900,L=Math.max(h,i?i.getFullYear():I+10);return f(v,{"data-field":r,className:`flex flex-col RemoteFlows__DatePickerField__Item__${r}`,children:[e(x,{className:"RemoteFlows__DatePickerField__Label",children:l}),f(P,{open:M,onOpenChange:_,children:[e(k,{asChild:!0,children:e(b,{children:e("div",{children:f(F,{type:"button",variant:"outline",className:a("w-full pl-3 text-left font-normal",!t.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${r}`,children:[t.value&&e(E,{children:Y(t.value,"yyyy-MM-dd")}),e(T,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),e(N,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:e(R,{mode:"single",captionLayout:"dropdown",fromYear:h,toYear:L,className:"RemoteFlows__DatepickerField__Calendar",selected:t.value?new Date(t.value):void 0,onDayClick:s=>{let z=Y(s,"yyyy-MM-dd");t.onChange(z),_(!1)},defaultMonth:t.value?new Date(t.value):i??d,disabled:s=>!!(d&&s<d||i&&s>i)})})]}),o?e(D,{helpCenter:e(C,{helpCenter:m.meta?.helpCenter}),children:o}):null,c.error&&e(w,{className:"RemoteFlows__DatePickerField__Error"})]})}n(re,"DatePickerFieldDefault");export{re as a};
2
- //# sourceMappingURL=chunk-SDPYDCS7.js.map
1
+ import{a as P,b as k,c as N}from"./chunk-B3MEKP45.js";import{a as C}from"./chunk-E7Y3YBZH.js";import{a as u,b as F}from"./chunk-LKHRHBFP.js";import{d as v,e as x,f as b,h as D,i as w}from"./chunk-NEVSZEMH.js";import{n as a}from"./chunk-C4HFMTSB.js";import{a as n}from"./chunk-P37U34EQ.js";import{CalendarIcon as T}from"lucide-react";import{format as Y}from"date-fns";import{ChevronLeft as O,ChevronRight as V}from"lucide-react";import{DayPicker as B}from"react-day-picker";import{jsx as p}from"react/jsx-runtime";function R({className:t,classNames:m,showOutsideDays:c=!0,...r}){return p(B,{showOutsideDays:c,className:a("p-3",t),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:a(u({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:a("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",r.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:a(u({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",...m},components:{IconLeft:n(({className:l,...o})=>p(O,{className:a("size-4",l),...o}),"IconLeft"),IconRight:n(({className:l,...o})=>p(V,{className:a("size-4",l),...o}),"IconRight")},...r})}n(R,"Calendar");import{useState as $}from"react";import{Fragment as E,jsx as e,jsxs as f}from"react/jsx-runtime";function re({field:t,fieldData:m,fieldState:c}){let{name:r,label:l,description:o,minDate:g,maxDate:y}=m,d=g?new Date(g):void 0,i=y?new Date(y):void 0,[M,_]=$(!1),I=new Date().getFullYear(),h=d?d.getFullYear():1900,L=Math.max(h,i?i.getFullYear():I+10);return f(v,{"data-field":r,className:`flex flex-col RemoteFlows__DatePickerField__Item__${r}`,children:[e(x,{className:"RemoteFlows__DatePickerField__Label",children:l}),f(P,{open:M,onOpenChange:_,children:[e(k,{asChild:!0,children:e(b,{children:e("div",{children:f(F,{type:"button",variant:"outline",className:a("w-full pl-3 text-left font-normal",!t.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${r}`,children:[t.value&&e(E,{children:Y(t.value,"yyyy-MM-dd")}),e(T,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),e(N,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:e(R,{mode:"single",captionLayout:"dropdown",fromYear:h,toYear:L,className:"RemoteFlows__DatepickerField__Calendar",selected:t.value?new Date(t.value):void 0,onDayClick:s=>{let z=Y(s,"yyyy-MM-dd");t.onChange(z),_(!1)},defaultMonth:t.value?new Date(t.value):i??d,disabled:s=>!!(d&&s<d||i&&s>i)})})]}),o?e(D,{helpCenter:e(C,{helpCenter:m.meta?.helpCenter}),children:o}):null,c.error&&e(w,{className:"RemoteFlows__DatePickerField__Error"})]})}n(re,"DatePickerFieldDefault");export{re as a};
2
+ //# sourceMappingURL=chunk-IYH7D5ET.js.map
@@ -1,2 +1,2 @@
1
- import{a as _}from"./chunk-DSJXT5ZP.js";import{b as S,c as q}from"./chunk-AXZ4IDY7.js";import{a as y}from"./chunk-H6XROFQT.js";import{a as p}from"./chunk-XFVXRCMH.js";import{B as h,h as v,qa as b,ua as g,va as O,z as F}from"./chunk-DAUDKN32.js";import{e as a}from"./chunk-H2O4CVKF.js";import{a as o}from"./chunk-P37U34EQ.js";import{useMemo as V}from"react";import{useQuery as P}from"@tanstack/react-query";var f=o(({employmentId:e,options:t})=>{let{client:r}=a();return P({queryKey:["contractor-currencies",e],queryFn:o(async()=>F({client:r,path:{employment_id:e},query:{restrict_to_guaranteed_pay_out_currencies:!1}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:o(({data:n})=>n?.data,"select")})},"useContractorCurrencies"),x=o(({countryCode:e,employmentId:t,fieldValues:r,options:n})=>{let{client:s}=a();return P({queryKey:["contractor-onboarding-details-schema",e,t],retry:!1,queryFn:o(async()=>v({client:s,path:{country_code:e},query:{json_schema_version:1,employment_id:t}}),"queryFn"),enabled:n?.queryOptions?.enabled,select:o(({data:i})=>{let c=i?.data?.schema||{};return p(c,r,n)},"select")})},"useContractorOnboardingDetailsSchema"),J=o(({countryCode:e,employmentId:t,fieldValues:r,options:n})=>{let s=x({countryCode:e,employmentId:t,fieldValues:r,options:n}),{data:i,isLoading:c}=f({employmentId:t,options:{queryOptions:{enabled:n?.queryOptions?.enabled}}}),u=V(()=>!s.data||!i?s.data:{...s.data,fields:s.data.fields.map(l=>l.name!=="payment_terms"?l:{...l,fields:l.fields?.map(d=>d.name!=="compensation_currency_code"?d:{...d,options:i.map(m=>({label:m.code,value:m.code,meta:{source:m.source}}))})})},[s.data,i]);return{...s,data:u,isLoading:s.isLoading||c}},"useContractorContractDetailsSchema");import{useMemo as N}from"react";import{useMutation as C,useQuery as w,queryOptions as E}from"@tanstack/react-query";var oe=o(({enabled:e,employmentId:t,jsfModify:r,includeOneTime:n,isContractorOfRecord:s,includeCustomDays:i,fieldValues:c})=>{let{data:u,isLoading:I}=f({employmentId:t,options:{queryOptions:{enabled:e&&!!t}}});return{data:N(()=>{if(!e||!u)return null;let d=_({currencies:u?.map(m=>m.code),includeOneTime:n,isContractorOfRecord:s,includeCustomDays:i});return p(d,c,{jsfModify:r,transformMoneyFields:!0})},[e,u,r,n,s,i,c]),isLoading:I}},"useGetCreateInvoiceScheduleSchema"),M=o((e,t)=>E({queryKey:["contractor-invoice-schedules",t],queryFn:o(async()=>{let r=await g({client:e,query:{employment_id:t}});if(r.error||!r.data)throw new Error("Failed to fetch invoice schedules");return r},"queryFn")}),"invoiceSchedulesOptions"),re=o(({employmentId:e,options:t})=>{let{client:r}=a();return w({...M(r,e),enabled:t?.queryOptions?.enabled,select:o(n=>n.data?.data?.contractor_invoice_schedules?.find(s=>s.status===y.PENDING_CONTRACTOR_ACTION||s.status===y.PROCESSING||s.status===y.PENDING_COMPANY_ACTION),"select")})},"useGetExistingInvoiceSchedule"),ne=o(()=>{let{client:e}=a();return C({mutationFn:o(async({employmentId:t,values:r})=>{let n={contractor_invoice_schedules:[{employment_id:t,...S(r)}]};return O({client:e,body:n})},"mutationFn")})},"useCreateInvoiceSchedule"),se=o(()=>{let{client:e}=a();return C({mutationFn:o(async({scheduleId:t,values:r})=>{let n=S(r);return h({client:e,path:{id:t},body:n})},"mutationFn")})},"useUpdateInvoiceSchedule"),ae=o(()=>{let{client:e}=a();return C({mutationFn:o(async({scheduleId:t})=>h({client:e,path:{id:t},body:{status:"deleted"}}),"mutationFn")})},"useSkipInvoiceSchedule"),ie=o(()=>{let{client:e}=a();return C({mutationFn:o(async({employmentId:t,values:r})=>{let n=q(r);return b({client:e,path:{employment_id:t},body:n})},"mutationFn")})},"usePreviewContractorInvoice");export{J as a,oe as b,M as c,re as d,ne as e,se as f,ae as g,ie as h};
2
- //# sourceMappingURL=chunk-FYCOEJEZ.js.map
1
+ import{a as _}from"./chunk-DSJXT5ZP.js";import{b as S,c as q}from"./chunk-AXZ4IDY7.js";import{a as y}from"./chunk-H6XROFQT.js";import{a as p}from"./chunk-JO5D2522.js";import{B as h,h as v,qa as b,ua as g,va as O,z as F}from"./chunk-DAUDKN32.js";import{e as a}from"./chunk-H2O4CVKF.js";import{a as o}from"./chunk-P37U34EQ.js";import{useMemo as V}from"react";import{useQuery as P}from"@tanstack/react-query";var f=o(({employmentId:e,options:t})=>{let{client:r}=a();return P({queryKey:["contractor-currencies",e],queryFn:o(async()=>F({client:r,path:{employment_id:e},query:{restrict_to_guaranteed_pay_out_currencies:!1}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:o(({data:n})=>n?.data,"select")})},"useContractorCurrencies"),x=o(({countryCode:e,employmentId:t,fieldValues:r,options:n})=>{let{client:s}=a();return P({queryKey:["contractor-onboarding-details-schema",e,t],retry:!1,queryFn:o(async()=>v({client:s,path:{country_code:e},query:{json_schema_version:1,employment_id:t}}),"queryFn"),enabled:n?.queryOptions?.enabled,select:o(({data:i})=>{let c=i?.data?.schema||{};return p(c,r,n)},"select")})},"useContractorOnboardingDetailsSchema"),J=o(({countryCode:e,employmentId:t,fieldValues:r,options:n})=>{let s=x({countryCode:e,employmentId:t,fieldValues:r,options:n}),{data:i,isLoading:c}=f({employmentId:t,options:{queryOptions:{enabled:n?.queryOptions?.enabled}}}),u=V(()=>!s.data||!i?s.data:{...s.data,fields:s.data.fields.map(l=>l.name!=="payment_terms"?l:{...l,fields:l.fields?.map(d=>d.name!=="compensation_currency_code"?d:{...d,options:i.map(m=>({label:m.code,value:m.code,meta:{source:m.source}}))})})},[s.data,i]);return{...s,data:u,isLoading:s.isLoading||c}},"useContractorContractDetailsSchema");import{useMemo as N}from"react";import{useMutation as C,useQuery as w,queryOptions as E}from"@tanstack/react-query";var oe=o(({enabled:e,employmentId:t,jsfModify:r,includeOneTime:n,isContractorOfRecord:s,includeCustomDays:i,fieldValues:c})=>{let{data:u,isLoading:I}=f({employmentId:t,options:{queryOptions:{enabled:e&&!!t}}});return{data:N(()=>{if(!e||!u)return null;let d=_({currencies:u?.map(m=>m.code),includeOneTime:n,isContractorOfRecord:s,includeCustomDays:i});return p(d,c,{jsfModify:r,transformMoneyFields:!0})},[e,u,r,n,s,i,c]),isLoading:I}},"useGetCreateInvoiceScheduleSchema"),M=o((e,t)=>E({queryKey:["contractor-invoice-schedules",t],queryFn:o(async()=>{let r=await g({client:e,query:{employment_id:t}});if(r.error||!r.data)throw new Error("Failed to fetch invoice schedules");return r},"queryFn")}),"invoiceSchedulesOptions"),re=o(({employmentId:e,options:t})=>{let{client:r}=a();return w({...M(r,e),enabled:t?.queryOptions?.enabled,select:o(n=>n.data?.data?.contractor_invoice_schedules?.find(s=>s.status===y.PENDING_CONTRACTOR_ACTION||s.status===y.PROCESSING||s.status===y.PENDING_COMPANY_ACTION),"select")})},"useGetExistingInvoiceSchedule"),ne=o(()=>{let{client:e}=a();return C({mutationFn:o(async({employmentId:t,values:r})=>{let n={contractor_invoice_schedules:[{employment_id:t,...S(r)}]};return O({client:e,body:n})},"mutationFn")})},"useCreateInvoiceSchedule"),se=o(()=>{let{client:e}=a();return C({mutationFn:o(async({scheduleId:t,values:r})=>{let n=S(r);return h({client:e,path:{id:t},body:n})},"mutationFn")})},"useUpdateInvoiceSchedule"),ae=o(()=>{let{client:e}=a();return C({mutationFn:o(async({scheduleId:t})=>h({client:e,path:{id:t},body:{status:"deleted"}}),"mutationFn")})},"useSkipInvoiceSchedule"),ie=o(()=>{let{client:e}=a();return C({mutationFn:o(async({employmentId:t,values:r})=>{let n=q(r);return b({client:e,path:{employment_id:t},body:n})},"mutationFn")})},"usePreviewContractorInvoice");export{J as a,oe as b,M as c,re as d,ne as e,se as f,ae as g,ie as h};
2
+ //# sourceMappingURL=chunk-IYWSUSS2.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-YE6NRJ2L.js";import{a as t}from"./chunk-SYZIGZ2F.js";import{a}from"./chunk-VEQWK7QQ.js";import{a as e}from"./chunk-AOE6FXVP.js";var i={data:{version:7,schema:{additionalProperties:!1,allOf:[...e.data.schema.allOf,...t.data.schema.allOf,...r.data.schema.allOf,...a.data.schema.allOf],properties:{...e.data.schema.properties,...t.data.schema.properties,...r.data.schema.properties,...a.data.schema.properties},required:[...e.data.schema.required,...t.data.schema.required,...r.data.schema.required,...a.data.schema.required],type:"object","x-jsf-order":[...e.data.schema["x-jsf-order"],...t.data.schema["x-jsf-order"],...r.data.schema["x-jsf-order"],...a.data.schema["x-jsf-order"]],"x-rmt-meta":{jsfOldVersion:!0}}}};export{i as a};
2
- //# sourceMappingURL=chunk-WNOQNNRR.js.map
1
+ import{a}from"./chunk-VEQWK7QQ.js";import{a as e}from"./chunk-AOE6FXVP.js";import{a as r}from"./chunk-YE6NRJ2L.js";import{a as t}from"./chunk-SYZIGZ2F.js";var i={data:{version:7,schema:{additionalProperties:!1,allOf:[...e.data.schema.allOf,...t.data.schema.allOf,...r.data.schema.allOf,...a.data.schema.allOf],properties:{...e.data.schema.properties,...t.data.schema.properties,...r.data.schema.properties,...a.data.schema.properties},required:[...e.data.schema.required,...t.data.schema.required,...r.data.schema.required,...a.data.schema.required],type:"object","x-jsf-order":[...e.data.schema["x-jsf-order"],...t.data.schema["x-jsf-order"],...r.data.schema["x-jsf-order"],...a.data.schema["x-jsf-order"]],"x-rmt-meta":{jsfOldVersion:!0}}}};export{i as a};
2
+ //# sourceMappingURL=chunk-JIGRVBQS.js.map
@@ -0,0 +1,2 @@
1
+ import{f as F}from"./chunk-C4HFMTSB.js";import{b as m}from"./chunk-FSGFBJJF.js";import{a as f}from"./chunk-P37U34EQ.js";import{createHeadlessForm as c,modify as p}from"@remoteoss/remote-json-schema-form-kit";var N=f((e,o,n)=>{let{transformMoneyFields:y}=n||{transformMoneyFields:!0};if(n&&n.jsfModify){let{required:r,allOf:i,...t}=n.jsfModify,{schema:s,warnings:l}=p(e,{...t,muteLogging:!0});if(l&&l.length>0&&l.filter(g=>g?.type!=="FIELD_TO_CHANGE_NOT_FOUND").length>0,e=s,r){let a=Array.isArray(s.required)?s.required:[];typeof r=="function"?e.required=r(a):e.required=[...a,...r]}i&&(e.allOf=[...Array.isArray(s.allOf)?s.allOf:[],...i])}let d={};o&&y&&(d=m(e.properties||{},"money").reduce((i,t)=>(i[t]=F(o[t]),i),{}));let u=JSON.parse(JSON.stringify({...o,...d}));return{meta:{"x-jsf-fieldsets":e["x-jsf-fieldsets"]||e["x-rmt-flatFieldsets"],"x-jsf-presentation":e["x-jsf-presentation"]},...c(e,{initialValues:u})}},"createHeadlessForm");export{N as a};
2
+ //# sourceMappingURL=chunk-JO5D2522.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/createHeadlessForm.tsx"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport {\n createHeadlessForm as baseCreateHeadlessForm,\n modify,\n} from '@remoteoss/remote-json-schema-form-kit';\nimport { convertToCents } from '@/src/components/form/utils';\nimport {\n JSFModify,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\n\n/*\n * Creates a headless form from a JSON Schema, useful to avoid code duplication when creating headless forms.\n * @param jsfSchema - The JSON Schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The headless form\n */\nexport const createHeadlessForm = (\n jsfSchema: Record<string, unknown>,\n fieldValues?: FieldValues,\n options?: { jsfModify?: JSFModify; transformMoneyFields?: boolean },\n): JSONSchemaFormResultWithFieldsets => {\n const { transformMoneyFields } = options || {\n transformMoneyFields: true,\n };\n if (options && options.jsfModify) {\n const { required, allOf, ...modifyConfig } = options.jsfModify;\n // muteLogging: true suppresses the generic library log; we surface the\n // actual warnings ourselves when present so they're actionable.\n const { schema, warnings } = modify(jsfSchema, {\n ...modifyConfig,\n muteLogging: true,\n } as Parameters<typeof modify>[1]);\n if (warnings && warnings.length > 0) {\n // FIELD_TO_CHANGE_NOT_FOUND is expected noise, not a bug: some field\n // customizations (e.g. equity_compensation) are shared across every\n // onboarding contract details schema even though not every country's schema defines\n // that field. Only surface the warning types that do indicate a real\n // misconfiguration, and only in this repo's own dev build (see\n // RF_INTERNAL_DEV in tsup.config.ts) — never to consumers of the\n // published package.\n const actionableWarnings = warnings.filter(\n (warning) => warning?.type !== 'FIELD_TO_CHANGE_NOT_FOUND',\n );\n if (\n actionableWarnings.length > 0 &&\n process.env.RF_INTERNAL_DEV === 'true'\n ) {\n // eslint-disable-next-line no-console\n console.warn('jsfModify warnings:', actionableWarnings);\n }\n }\n jsfSchema = schema;\n\n if (required) {\n const baseRequired = Array.isArray(schema.required)\n ? schema.required\n : [];\n\n if (typeof required === 'function') {\n // Function: allows full control over required fields\n jsfSchema.required = required(baseRequired);\n } else {\n // Array: merge with existing required fields (backwards compatible)\n jsfSchema.required = [...baseRequired, ...required];\n }\n }\n\n if (allOf) {\n jsfSchema.allOf = [\n ...(Array.isArray(schema.allOf) ? schema.allOf : []),\n ...allOf,\n ];\n }\n }\n\n let moneyFieldsData: Record<string, number | null> = {};\n\n if (fieldValues && transformMoneyFields) {\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n }\n\n /**\n * We create a deep copy of the field values to avoid modifying the original object.\n * This problem is caused by json-schema-form-v0.\n */\n const initialValues = JSON.parse(\n JSON.stringify({\n ...fieldValues,\n ...moneyFieldsData,\n }),\n );\n\n return {\n meta: {\n // Support for both x-jsf-fieldsets and x-rmt-flatFieldsets\n // before x-jsf-fieldsets was used, but it was migrated to x-rmt-flatFieldsets\n // this allows to everything to keep working as expected without renaming the whole thing\n 'x-jsf-fieldsets':\n (jsfSchema['x-jsf-fieldsets'] as JSFFieldset) ||\n (jsfSchema['x-rmt-flatFieldsets'] as JSFFieldset),\n 'x-jsf-presentation': jsfSchema['x-jsf-presentation'] as\n | Record<string, unknown>\n | undefined,\n },\n ...baseCreateHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n};\n"],"mappings":"wHACA,OACE,sBAAsBA,EACtB,UAAAC,MACK,yCAgBA,IAAMC,EAAqBC,EAAA,CAChCC,EACAC,EACAC,IACsC,CACtC,GAAM,CAAE,qBAAAC,CAAqB,EAAID,GAAW,CAC1C,qBAAsB,EACxB,EACA,GAAIA,GAAWA,EAAQ,UAAW,CAChC,GAAM,CAAE,SAAAE,EAAU,MAAAC,EAAO,GAAGC,CAAa,EAAIJ,EAAQ,UAG/C,CAAE,OAAAK,EAAQ,SAAAC,CAAS,EAAIC,EAAOT,EAAW,CAC7C,GAAGM,EACH,YAAa,EACf,CAAiC,EAsBjC,GArBIE,GAAYA,EAAS,OAAS,GAQLA,EAAS,OACjCE,GAAYA,GAAS,OAAS,2BACjC,EAEqB,OAAS,EAOhCV,EAAYO,EAERH,EAAU,CACZ,IAAMO,EAAe,MAAM,QAAQJ,EAAO,QAAQ,EAC9CA,EAAO,SACP,CAAC,EAED,OAAOH,GAAa,WAEtBJ,EAAU,SAAWI,EAASO,CAAY,EAG1CX,EAAU,SAAW,CAAC,GAAGW,EAAc,GAAGP,CAAQ,CAEtD,CAEIC,IACFL,EAAU,MAAQ,CAChB,GAAI,MAAM,QAAQO,EAAO,KAAK,EAAIA,EAAO,MAAQ,CAAC,EAClD,GAAGF,CACL,EAEJ,CAEA,IAAIO,EAAiD,CAAC,EAElDX,GAAeE,IAEjBS,EADoBC,EAAiBb,EAAU,YAAc,CAAC,EAAG,OAAO,EAC1C,OAC5B,CAACc,EAAKC,KACJD,EAAIC,CAAK,EAAIC,EAAef,EAAYc,CAAK,CAAC,EACvCD,GAET,CAAC,CACH,GAOF,IAAMG,EAAgB,KAAK,MACzB,KAAK,UAAU,CACb,GAAGhB,EACH,GAAGW,CACL,CAAC,CACH,EAEA,MAAO,CACL,KAAM,CAIJ,kBACGZ,EAAU,iBAAiB,GAC3BA,EAAU,qBAAqB,EAClC,qBAAsBA,EAAU,oBAAoB,CAGtD,EACA,GAAGkB,EAAuBlB,EAAW,CACnC,cAAAiB,CACF,CAAC,CACH,CACF,EAnGkC","names":["baseCreateHeadlessForm","modify","createHeadlessForm","__name","jsfSchema","fieldValues","options","transformMoneyFields","required","allOf","modifyConfig","schema","warnings","modify","warning","baseRequired","moneyFieldsData","findFieldsByType","acc","field","convertToCents","initialValues","baseCreateHeadlessForm"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-FFRROEPQ.js";import{b as n}from"./chunk-Q3ALCPJN.js";import{x as i}from"./chunk-C4HFMTSB.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function F({onSubmit:m,onSuccess:d,onError:p}){let{contractorOnboardingBag:r}=n(),l=t(async(a,v)=>{try{let e=await r.parseFormValues(a);await m?.(e);let o=await r.onSubmit(a);if(o?.data){await d?.(o?.data),r?.next();return}}catch(e){let o=i(e,r.meta?.fields?.contract_preview,v);p?.(o)}},"handleSubmit"),u=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return c("div",{className:"space-y-4",children:c(s,{defaultValues:u,onSubmit:l})})}t(F,"ContractPreviewStep");export{F as a};
2
- //# sourceMappingURL=chunk-5FST4WDH.js.map
1
+ import{a as s}from"./chunk-C3LOTWEB.js";import{b as n}from"./chunk-Q3ALCPJN.js";import{x as i}from"./chunk-C4HFMTSB.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function F({onSubmit:m,onSuccess:d,onError:p}){let{contractorOnboardingBag:r}=n(),l=t(async(a,v)=>{try{let e=await r.parseFormValues(a);await m?.(e);let o=await r.onSubmit(a);if(o?.data){await d?.(o?.data),r?.next();return}}catch(e){let o=i(e,r.meta?.fields?.contract_preview,v);p?.(o)}},"handleSubmit"),u=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return c("div",{className:"space-y-4",children:c(s,{defaultValues:u,onSubmit:l})})}t(F,"ContractPreviewStep");export{F as a};
2
+ //# sourceMappingURL=chunk-KSCJNGWW.js.map
@@ -0,0 +1,2 @@
1
+ import{a as i}from"./chunk-VEQWK7QQ.js";import{a as o}from"./chunk-AOE6FXVP.js";import{a as m}from"./chunk-YE6NRJ2L.js";import{a as e}from"./chunk-SYZIGZ2F.js";var p={employee_communication:o,termination_details:e,paid_time_off:m,additional_information:i};export{p as a};
2
+ //# sourceMappingURL=chunk-KUQJG26N.js.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-YPBPOUGX.js";import{a as r}from"./chunk-WU66SHVJ.js";import{b as t}from"./chunk-SS2SYDCB.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function d(l){let{employeeBag:e}=t(),a=s(l);return n(r,{onSubmit:a,defaultValues:{...e.initialValues?.home_address,...e.stepState.values?.home_address}})}o(d,"HomeAddressStep");export{d as a};
2
- //# sourceMappingURL=chunk-PJAHLEOR.js.map
1
+ import{a as s}from"./chunk-YPBPOUGX.js";import{a as r}from"./chunk-LOFKF243.js";import{b as t}from"./chunk-SS2SYDCB.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function d(l){let{employeeBag:e}=t(),a=s(l);return n(r,{onSubmit:a,defaultValues:{...e.initialValues?.home_address,...e.stepState.values?.home_address}})}o(d,"HomeAddressStep");export{d as a};
2
+ //# sourceMappingURL=chunk-KXTESNWQ.js.map
@@ -0,0 +1,2 @@
1
+ import{a as v}from"./chunk-VC3W5YDI.js";import{a as h}from"./chunk-6FLU37JM.js";import{a as p}from"./chunk-RJXFAG4D.js";import{a as n}from"./chunk-7LP2MXCW.js";import{a as u}from"./chunk-JJUOWS3K.js";import{a as i}from"./chunk-2QVO3BVI.js";import{b as s}from"./chunk-LKHRHBFP.js";import{a as c}from"./chunk-ZI7EPJT7.js";import{a as m}from"./chunk-P37U34EQ.js";import{RotateCcw as k}from"lucide-react";import{jsx as e,jsxs as o}from"react/jsx-runtime";var H=m(({state:r,actions:l,subtractBreaksFromWorkHours:_})=>{let{close:y,cancel:g}=v(),F=m(async()=>{await l.save(),l.validate()&&y()},"handleSave");return o("div",{className:"space-y-4 RemoteFlows__DailyScheduleForm",children:[e("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__DailyScheduleForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),o("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__DailyScheduleForm__Header",children:[e("div",{className:"col-span-3"}),e("div",{className:"col-span-3 text-center",children:"Start"}),e("div",{className:"col-span-3 text-center",children:"End"}),e("div",{className:"col-span-3 text-center",children:"Break (minutes)"})]}),e("div",{className:"RemoteFlows__DailyScheduleForm__Rows",children:r.rows.map((a,t)=>o("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__DailyScheduleForm__Row",children:[e("div",{className:"col-span-3",children:o("div",{className:"flex items-center gap-2",children:[e(u,{id:`schedule-${t}-checked`,checked:a.checked,onCheckedChange:()=>l.toggleDay(t)}),e(c,{htmlFor:`schedule-${t}-checked`,children:h[a.day]})]})}),e("div",{className:"col-span-3",children:e(i,{type:"text",value:a.start_time,onChange:d=>l.updateRow(t,"start_time",d.target.value),onBlur:l.handleBlur,disabled:!a.checked,placeholder:"HH:mm","aria-invalid":!!r.getFieldError(t,"start_time"),className:r.getFieldError(t,"start_time")?"border-destructive":""})}),e("div",{className:"col-span-3",children:e(i,{type:"text",value:a.end_time,onChange:d=>l.updateRow(t,"end_time",d.target.value),onBlur:l.handleBlur,disabled:!a.checked,placeholder:"HH:mm","aria-invalid":!!r.getFieldError(t,"end_time"),className:r.getFieldError(t,"end_time")?"border-destructive":""})}),e("div",{className:"col-span-2",children:e(i,{type:"number",value:a.break_duration_minutes,onChange:d=>l.updateRow(t,"break_duration_minutes",d.target.value),onBlur:l.handleBlur,disabled:!a.checked,placeholder:"Minutes","aria-invalid":!!r.getFieldError(t,"break_duration_minutes"),className:r.getFieldError(t,"break_duration_minutes")?"border-destructive":""})}),e("div",{className:"col-span-1 text-center text-sm text-gray-500 RemoteFlows__DailyScheduleForm__Row__Hours",children:a.checked&&a.hours>0?`${a.hours}h`:"-"})]},a.day))}),e("div",{className:"rounded-lg border p-4 RemoteFlows__DailyScheduleForm__Preview",children:e(n,{days:r.unsavedSummaryDays,subtractBreaksFromWorkHours:_})}),e(p,{error:r.hoursRangeError}),r.formError?e("p",{className:"text-destructive text-sm mb-0",children:r.formError}):null,!r.formError&&r.hasFieldErrors&&e("p",{className:"text-destructive text-sm mb-0",children:"Please check the form for errors. Time fields must use HH:mm format (e.g., 09:00), and all checked days must have start time, end time, and break duration filled in."}),o("div",{className:"flex items-center gap-4 pt-4",children:[r.isDirty&&o(s,{type:"button",variant:"ghost",className:"gap-2 RemoteFlows__DailyScheduleForm__ResetButton",onClick:l.reset,children:[e(k,{className:"h-4 w-4"}),"Reset to default"]}),o("div",{className:"flex gap-4 ml-auto",children:[e(s,{type:"button",variant:"outline",onClick:g,children:"Cancel"}),e(s,{type:"button",onClick:F,disabled:!!r.hoursRangeError,children:"Save schedule"})]})]})]})},"DailyScheduleEditForm");export{H as a};
2
+ //# sourceMappingURL=chunk-L2GAD6S5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.tsx"],"sourcesContent":["import { DailyScheduleSummaryBody } from '@/src/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody';\nimport { DailyScheduleHoursErrorBanner } from '@/src/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner';\nimport { Button } from '@/src/components/ui/button';\nimport { RotateCcw } from 'lucide-react';\nimport { useDailyScheduleEditForm } from '@/src/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm';\nimport { useDialogControl } from '@/src/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog';\nimport { WEEKDAY_LABELS } from '@/src/flows/Onboarding/components/DailySchedule/constants';\nimport { Checkbox } from '@/src/components/ui/checkbox';\nimport { Input } from '@/src/components/ui/input';\nimport { Label } from '@/src/components/ui/label';\n\ntype DailyScheduleEditFormProps = ReturnType<\n typeof useDailyScheduleEditForm\n> & {\n subtractBreaksFromWorkHours: boolean;\n};\n\nexport const DailyScheduleEditForm = ({\n state,\n actions,\n subtractBreaksFromWorkHours,\n}: DailyScheduleEditFormProps) => {\n const { close, cancel } = useDialogControl();\n\n const handleSave = async () => {\n await actions.save();\n // Only close if validation passed\n if (actions.validate()) {\n close();\n }\n };\n\n return (\n <div className='space-y-4 RemoteFlows__DailyScheduleForm'>\n <p className='text-gray-600 text-sm mb-4 RemoteFlows__DailyScheduleForm__Description'>\n The times displayed are in the employee&apos;s time zone in the 24-hour\n format.\n </p>\n\n <div className='grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__DailyScheduleForm__Header'>\n <div className='col-span-3'></div>\n <div className='col-span-3 text-center'>Start</div>\n <div className='col-span-3 text-center'>End</div>\n <div className='col-span-3 text-center'>Break (minutes)</div>\n </div>\n\n <div className='RemoteFlows__DailyScheduleForm__Rows'>\n {state.rows.map((row, index) => (\n <div\n key={row.day}\n className='grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__DailyScheduleForm__Row'\n >\n <div className='col-span-3'>\n <div className='flex items-center gap-2'>\n <Checkbox\n id={`schedule-${index}-checked`}\n checked={row.checked}\n onCheckedChange={() => actions.toggleDay(index)}\n />\n <Label htmlFor={`schedule-${index}-checked`}>\n {WEEKDAY_LABELS[row.day]}\n </Label>\n </div>\n </div>\n <div className='col-span-3'>\n <Input\n type='text'\n value={row.start_time}\n onChange={(e) =>\n actions.updateRow(index, 'start_time', e.target.value)\n }\n onBlur={actions.handleBlur}\n disabled={!row.checked}\n placeholder='HH:mm'\n aria-invalid={!!state.getFieldError(index, 'start_time')}\n className={\n state.getFieldError(index, 'start_time')\n ? 'border-destructive'\n : ''\n }\n />\n </div>\n <div className='col-span-3'>\n <Input\n type='text'\n value={row.end_time}\n onChange={(e) =>\n actions.updateRow(index, 'end_time', e.target.value)\n }\n onBlur={actions.handleBlur}\n disabled={!row.checked}\n placeholder='HH:mm'\n aria-invalid={!!state.getFieldError(index, 'end_time')}\n className={\n state.getFieldError(index, 'end_time')\n ? 'border-destructive'\n : ''\n }\n />\n </div>\n <div className='col-span-2'>\n <Input\n type='number'\n value={row.break_duration_minutes}\n onChange={(e) =>\n actions.updateRow(\n index,\n 'break_duration_minutes',\n e.target.value,\n )\n }\n onBlur={actions.handleBlur}\n disabled={!row.checked}\n placeholder='Minutes'\n aria-invalid={\n !!state.getFieldError(index, 'break_duration_minutes')\n }\n className={\n state.getFieldError(index, 'break_duration_minutes')\n ? 'border-destructive'\n : ''\n }\n />\n </div>\n <div className='col-span-1 text-center text-sm text-gray-500 RemoteFlows__DailyScheduleForm__Row__Hours'>\n {row.checked ? (row.hours > 0 ? `${row.hours}h` : '-') : '-'}\n </div>\n </div>\n ))}\n </div>\n\n <div className='rounded-lg border p-4 RemoteFlows__DailyScheduleForm__Preview'>\n <DailyScheduleSummaryBody\n days={state.unsavedSummaryDays}\n subtractBreaksFromWorkHours={subtractBreaksFromWorkHours}\n />\n </div>\n\n <DailyScheduleHoursErrorBanner error={state.hoursRangeError} />\n\n {state.formError ? (\n <p className='text-destructive text-sm mb-0'>{state.formError}</p>\n ) : null}\n\n {!state.formError && state.hasFieldErrors && (\n <p className='text-destructive text-sm mb-0'>\n Please check the form for errors. Time fields must use HH:mm format\n (e.g., 09:00), and all checked days must have start time, end time,\n and break duration filled in.\n </p>\n )}\n\n <div className='flex items-center gap-4 pt-4'>\n {state.isDirty && (\n <Button\n type='button'\n variant='ghost'\n className='gap-2 RemoteFlows__DailyScheduleForm__ResetButton'\n onClick={actions.reset}\n >\n <RotateCcw className='h-4 w-4' />\n Reset to default\n </Button>\n )}\n <div className='flex gap-4 ml-auto'>\n <Button type='button' variant='outline' onClick={cancel}>\n Cancel\n </Button>\n <Button\n type='button'\n onClick={handleSave}\n disabled={!!state.hoursRangeError}\n >\n Save schedule\n </Button>\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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","names":["RotateCcw","jsx","jsxs","DailyScheduleEditForm","__name","state","actions","subtractBreaksFromWorkHours","close","cancel","useDialogControl","handleSave","row","index","Checkbox","Label","WEEKDAY_LABELS","Input","e","DailyScheduleSummaryBody","DailyScheduleHoursErrorBanner","Button","RotateCcw"]}
@@ -0,0 +1,2 @@
1
+ import{a as h}from"./chunk-SGE4DLC3.js";import{a as i}from"./chunk-P37U34EQ.js";import _ from"lodash.groupby";var S=/^([01]\d|2[0-3]):([0-5]\d)$/,y=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function R(e){let{subtract_breaks_in_work_hours:t,country_name:n,default_start_time:r,default_end_time:u,default_break_duration_minutes:a,default_schedule:l,work_hours_per_week:s,work_days:m=y}=e;return{subtractBreaksFromWorkHours:t,countryName:n,defaultStartTime:r,defaultEndTime:u,defaultBreakDurationMinutes:a,defaultSchedule:l,workHoursPerWeekConfig:s,availableWorkDays:m}}i(R,"getDefaultsFromSchema");var W="core_business_hours",p="full_time",b="part_time";function N(e,{scheduleType:t,workSchedule:n}){let r=t===W?1:void 0;return n===p?{minimum:r??e.full_time.minimum,maximum:e.full_time.maximum}:n===b?{minimum:r??e.part_time.minimum,maximum:e.part_time.maximum}:{minimum:r??e.baseline.minimum,maximum:e.baseline.maximum}}i(N,"getWorkHoursBounds");var d=60;function k(e){let[t,n]=e.split(":").map(r=>parseInt(r,10));return t*d+n}i(k,"convertTimeStringToMinutes");function H(e){let t=e/d,n=t.toString().split(".")[1];return!n||n.length<=2?t:Math.floor(t*100)/100}i(H,"convertMinutesToHours");function L(e,t,n){if(!e||!t||!S.test(e)||!S.test(t))return 0;let r=k(e),a=k(t)-r-(n||0);return a<0?0:H(a)}i(L,"calculateWorkingHours");function T(e,t){let n=t.indexOf(e),r=null;for(;n<t.length&&!r;){let u=t[n],a=t[n+1];if(a===void 0){r=u;break}y[y.indexOf(u)+1]!==a&&(r=u),n+=1}return r}i(T,"findLastConsecutiveDay");function g(e){return e.replace(":","h")}i(g,"formatTimeLabel");function c(e){return e.charAt(0).toUpperCase()+e.slice(1)}i(c,"capitalizeDay");function E(e){return e.flatMap((t,n)=>{let r={text:c(t),bold:!0};return n===0?[r]:[{text:n===e.length-1?" and ":", "},r]})}i(E,"boldDayListSegments");function $(e,t){let[n,r]=e.split("|"),u=t.map(f=>f.day),a=u[0],l=T(a,u),s=l!==null&&u.indexOf(l)===u.length-1,m=[{text:"from "},{text:g(n),bold:!0},{text:" to "},{text:g(r),bold:!0}];return u.length===1?{key:e,segments:[{text:c(a),bold:!0},{text:", "},...m]}:s?{key:e,segments:[{text:c(a),bold:!0},{text:" to "},{text:c(l),bold:!0},{text:", "},...m]}:{key:e,segments:[...E(u),{text:", "},...m]}}i($,"buildWorkHoursLine");function I(e){let t=e.map(c);return t.length===1?t[0]:t.length===2?`${t[0]} and ${t[1]}`:`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`}i(I,"formatDayListText");function B(e){if(e<d)return`${e}m`;let t=Math.floor(e/d),n=e%d;return n>0?`${t}h${n}m`:`${t}h`}i(B,"formatBreakDurationLabel");function M(e,t,n){let r=B(Number(e));if(n)return{key:e,segments:[{text:"With "},{text:`${r} daily breaks`,bold:!0}]};let u=I(t.map(a=>a.day));return{key:e,segments:[{text:"With "},{text:r,bold:!0},{text:` break on ${u}.`}]}}i(M,"buildBreakLine");function O(e,t){return e.reduce((n,r)=>n+L(r.start_time,r.end_time,t?r.break_duration_minutes:0),0)}i(O,"calculateTotalWeeklyHours");function A(e,t){let n=[...e].sort((o,D)=>y.indexOf(o.day)-y.indexOf(D.day)),r=O(n,t),u=n.filter(o=>S.test(o.start_time)&&S.test(o.end_time)),a=_(u,o=>`${o.start_time}|${o.end_time}`),l=Object.entries(a).map(([o,D])=>$(o,D)),s=n.filter(o=>o.break_duration_minutes>0),m=_(s,o=>String(o.break_duration_minutes)),f=[...new Set(s.map(o=>String(o.break_duration_minutes)))],x=f.map(o=>M(o,m[o],f.length===1));return{workHoursLines:l,breakLines:x,totalWeeklyHours:r}}i(A,"buildDailyScheduleSummary");function w({value:e,defaultSchedule:t}){return e!==void 0?e:{selected_days:t.map(n=>n.day),schedule:t.reduce((n,r)=>({...n,[r.day]:{start_time:r.start_time,end_time:r.end_time,break_duration_minutes:r.break_duration_minutes}}),{})}}i(w,"resolveDailyScheduleValue");function V(e,t){let{selected_days:n,schedule:r}=w({value:e,defaultSchedule:t});return n.map(a=>{let l=r[a];return{day:a,start_time:l?.start_time??"",end_time:l?.end_time??"",break_duration_minutes:l?.break_duration_minutes??0}})}i(V,"getDailyScheduleSummaryDays");function C(e){return e===p?"a full-time employee":e===b?"a part-time employee":"an employee"}i(C,"workScheduleCopy");function j({totalWeeklyHours:e,workHoursBounds:t,countryName:n,workSchedule:r}){if(e===0)return null;let{minimum:u,maximum:a}=t;if(e>=u&&e<=a)return null;let l=h({number:a,singular:"hour",plural:"hours",followCopyGuidelines:!1}),s=u===a?l:`between ${u} and ${l}`;return{header:"Work hours outside of weekly range",message:`The work week for ${C(r)} in ${n} is ${s}.`}}i(j,"getDailyScheduleHoursError");export{S as a,y as b,R as c,N as d,k as e,H as f,L as g,O as h,A as i,w as j,V as k,j as l};
2
+ //# sourceMappingURL=chunk-L74V3INS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/DailySchedule/utils.ts"],"sourcesContent":["// Code comes from our platform codebase, go there to see the original source\n\nimport groupBy from 'lodash.groupby';\n\nimport {\n DailyScheduleDefaultDay,\n DailyScheduleDefaults,\n DailyScheduleHoursError,\n DailyScheduleMetadata,\n DailyScheduleSummaryDay,\n DailyScheduleSummaryLine,\n DailyScheduleSummarySegment,\n DailyScheduleValue,\n Weekday,\n WorkHoursBoundsInput,\n WorkHoursPerWeekConfig,\n WorkHoursRange,\n} from '@/src/flows/Onboarding/components/DailySchedule/types';\nimport { getSingularPluralUnit } from '@/src/lib/i18n';\n\nexport const TIME_PATTERN = /^([01]\\d|2[0-3]):([0-5]\\d)$/;\n\nexport const DAYS_OF_THE_WEEK: Weekday[] = [\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n 'sunday',\n];\n\n/**\n * Normalizes the raw `daily_schedule['x-jsf-presentation'].metadata` block\n * into the camelCase shape the container/render-prop payload uses.\n */\nexport function getDefaultsFromSchema(\n metadata: DailyScheduleMetadata,\n): DailyScheduleDefaults {\n const {\n subtract_breaks_in_work_hours: subtractBreaksFromWorkHours,\n country_name: countryName,\n default_start_time: defaultStartTime,\n default_end_time: defaultEndTime,\n default_break_duration_minutes: defaultBreakDurationMinutes,\n default_schedule: defaultSchedule,\n work_hours_per_week: workHoursPerWeekConfig,\n work_days: availableWorkDays = DAYS_OF_THE_WEEK,\n } = metadata;\n\n return {\n subtractBreaksFromWorkHours,\n countryName,\n defaultStartTime,\n defaultEndTime,\n defaultBreakDurationMinutes,\n defaultSchedule,\n workHoursPerWeekConfig,\n availableWorkDays,\n };\n}\n\nconst SCHEDULE_TYPE_BUSINESS_HOURS = 'core_business_hours';\nconst WORK_SCHEDULE_FULL_TIME = 'full_time';\nconst WORK_SCHEDULE_PART_TIME = 'part_time';\n\n/**\n * Resolves the allowed weekly-hours range for the current `schedule_type`/\n * `work_schedule` selection. For core business hours, the minimum drops to 1\n * because the real validation lives on the `work_hours_per_week` field itself.\n */\nexport function getWorkHoursBounds(\n workHoursPerWeekConfig: WorkHoursPerWeekConfig,\n { scheduleType, workSchedule }: WorkHoursBoundsInput,\n): WorkHoursRange {\n const minimumOverride =\n scheduleType === SCHEDULE_TYPE_BUSINESS_HOURS ? 1 : undefined;\n\n if (workSchedule === WORK_SCHEDULE_FULL_TIME) {\n return {\n minimum: minimumOverride ?? workHoursPerWeekConfig.full_time.minimum,\n maximum: workHoursPerWeekConfig.full_time.maximum,\n };\n }\n\n if (workSchedule === WORK_SCHEDULE_PART_TIME) {\n return {\n minimum: minimumOverride ?? workHoursPerWeekConfig.part_time.minimum,\n maximum: workHoursPerWeekConfig.part_time.maximum,\n };\n }\n\n return {\n minimum: minimumOverride ?? workHoursPerWeekConfig.baseline.minimum,\n maximum: workHoursPerWeekConfig.baseline.maximum,\n };\n}\n\nconst MINUTES_IN_HOUR = 60;\n\nexport function convertTimeStringToMinutes(time: string): number {\n const [hours, minutes] = time.split(':').map((part) => parseInt(part, 10));\n\n return hours * MINUTES_IN_HOUR + minutes;\n}\n\nexport function convertMinutesToHours(timeInMinutes: number): number {\n const totalHours = timeInMinutes / MINUTES_IN_HOUR;\n const decimals = totalHours.toString().split('.')[1];\n\n if (!decimals || decimals.length <= 2) {\n return totalHours;\n }\n\n // Aligns with json-schema-form's own rounding behavior (2 decimal places max).\n return Math.floor(totalHours * 100) / 100;\n}\n\n/** Total working hours for a day, given its start/end time and break duration. */\nexport function calculateWorkingHours(\n startTime: string | undefined,\n endTime: string | undefined,\n breakDurationMinutes?: number | null,\n): number {\n if (\n !startTime ||\n !endTime ||\n !TIME_PATTERN.test(startTime) ||\n !TIME_PATTERN.test(endTime)\n ) {\n return 0;\n }\n\n const startTimeInMinutes = convertTimeStringToMinutes(startTime);\n const endTimeInMinutes = convertTimeStringToMinutes(endTime);\n const totalTimeInMinutes =\n endTimeInMinutes - startTimeInMinutes - (breakDurationMinutes || 0);\n\n if (totalTimeInMinutes < 0) {\n return 0;\n }\n\n return convertMinutesToHours(totalTimeInMinutes);\n}\n\nfunction findLastConsecutiveDay(\n startDay: Weekday,\n days: Weekday[],\n): Weekday | null {\n let index = days.indexOf(startDay);\n let lastConsecutiveDay: Weekday | null = null;\n\n while (index < days.length && !lastConsecutiveDay) {\n const currentDay = days[index];\n const nextDay = days[index + 1];\n if (nextDay === undefined) {\n lastConsecutiveDay = currentDay;\n break;\n }\n const nextDayInWeek =\n DAYS_OF_THE_WEEK[DAYS_OF_THE_WEEK.indexOf(currentDay) + 1];\n\n if (nextDayInWeek !== nextDay) {\n lastConsecutiveDay = currentDay;\n }\n\n index += 1;\n }\n\n return lastConsecutiveDay;\n}\n\nfunction formatTimeLabel(time: string): string {\n return time.replace(':', 'h');\n}\n\nfunction capitalizeDay(day: Weekday): string {\n return day.charAt(0).toUpperCase() + day.slice(1);\n}\n\nfunction boldDayListSegments(days: Weekday[]): DailyScheduleSummarySegment[] {\n return days.flatMap((day, index) => {\n const dayLabel: DailyScheduleSummarySegment = {\n text: capitalizeDay(day),\n bold: true,\n };\n\n if (index === 0) {\n return [dayLabel];\n }\n\n const joiner = index === days.length - 1 ? ' and ' : ', ';\n return [{ text: joiner }, dayLabel];\n });\n}\n\nfunction buildWorkHoursLine(\n timeKey: string,\n daysInGroup: DailyScheduleSummaryDay[],\n): DailyScheduleSummaryLine {\n const [startTime, endTime] = timeKey.split('|');\n const dayNames = daysInGroup.map((day) => day.day);\n const startDay = dayNames[0];\n const lastConsecutiveDay = findLastConsecutiveDay(startDay, dayNames);\n const allDaysAreConsecutive =\n lastConsecutiveDay !== null &&\n dayNames.indexOf(lastConsecutiveDay) === dayNames.length - 1;\n\n const timeSegments: DailyScheduleSummarySegment[] = [\n { text: 'from ' },\n { text: formatTimeLabel(startTime), bold: true },\n { text: ' to ' },\n { text: formatTimeLabel(endTime), bold: true },\n ];\n\n if (dayNames.length === 1) {\n return {\n key: timeKey,\n segments: [\n { text: capitalizeDay(startDay), bold: true },\n { text: ', ' },\n ...timeSegments,\n ],\n };\n }\n\n if (allDaysAreConsecutive) {\n return {\n key: timeKey,\n segments: [\n { text: capitalizeDay(startDay), bold: true },\n { text: ' to ' },\n { text: capitalizeDay(lastConsecutiveDay), bold: true },\n { text: ', ' },\n ...timeSegments,\n ],\n };\n }\n\n return {\n key: timeKey,\n segments: [\n ...boldDayListSegments(dayNames),\n { text: ', ' },\n ...timeSegments,\n ],\n };\n}\n\n/** \"Monday\" / \"Monday and Tuesday\" / \"Monday, Tuesday and Wednesday\" (plain text). */\nfunction formatDayListText(days: Weekday[]): string {\n const names = days.map(capitalizeDay);\n\n if (names.length === 1) {\n return names[0];\n }\n\n if (names.length === 2) {\n return `${names[0]} and ${names[1]}`;\n }\n\n return `${names.slice(0, -1).join(', ')} and ${names[names.length - 1]}`;\n}\n\nfunction formatBreakDurationLabel(minutes: number): string {\n if (minutes < MINUTES_IN_HOUR) {\n return `${minutes}m`;\n }\n\n const hours = Math.floor(minutes / MINUTES_IN_HOUR);\n const remainingMinutes = minutes % MINUTES_IN_HOUR;\n\n return remainingMinutes > 0 ? `${hours}h${remainingMinutes}m` : `${hours}h`;\n}\n\nfunction buildBreakLine(\n breakDurationMinutes: string,\n daysInGroup: DailyScheduleSummaryDay[],\n isOnlyGroup: boolean,\n): DailyScheduleSummaryLine {\n const breakLabel = formatBreakDurationLabel(Number(breakDurationMinutes));\n\n if (isOnlyGroup) {\n return {\n key: breakDurationMinutes,\n segments: [\n { text: 'With ' },\n { text: `${breakLabel} daily breaks`, bold: true },\n ],\n };\n }\n\n const dayListText = formatDayListText(daysInGroup.map((day) => day.day));\n\n return {\n key: breakDurationMinutes,\n segments: [\n { text: 'With ' },\n { text: breakLabel, bold: true },\n { text: ` break on ${dayListText}.` },\n ],\n };\n}\n\ntype DailyScheduleSummary = {\n workHoursLines: DailyScheduleSummaryLine[];\n breakLines: DailyScheduleSummaryLine[];\n totalWeeklyHours: number;\n};\n\nexport function calculateTotalWeeklyHours(\n days: DailyScheduleSummaryDay[],\n subtractBreaksFromWorkHours: boolean,\n): number {\n return days.reduce(\n (total, day) =>\n total +\n calculateWorkingHours(\n day.start_time,\n day.end_time,\n subtractBreaksFromWorkHours ? day.break_duration_minutes : 0,\n ),\n 0,\n );\n}\n\n/**\n * Groups a schedule's selected days into Dragon-style summary lines: runs of\n * consecutive days sharing the same start/end time collapse into one line\n * (e.g. \"Monday to Friday, from 09h00 to 18h00\"), and likewise for shared\n * break durations (e.g. \"With 1h daily breaks\").\n */\nexport function buildDailyScheduleSummary(\n days: DailyScheduleSummaryDay[],\n subtractBreaksFromWorkHours: boolean,\n): DailyScheduleSummary {\n const orderedDays = [...days].sort(\n (a, b) => DAYS_OF_THE_WEEK.indexOf(a.day) - DAYS_OF_THE_WEEK.indexOf(b.day),\n );\n\n const totalWeeklyHours = calculateTotalWeeklyHours(\n orderedDays,\n subtractBreaksFromWorkHours,\n );\n\n const daysWithCompleteTimes = orderedDays.filter(\n (day) =>\n TIME_PATTERN.test(day.start_time) && TIME_PATTERN.test(day.end_time),\n );\n\n const groupedByTime = groupBy(\n daysWithCompleteTimes,\n (day) => `${day.start_time}|${day.end_time}`,\n );\n const workHoursLines = Object.entries(groupedByTime).map(\n ([timeKey, daysInGroup]) => buildWorkHoursLine(timeKey, daysInGroup),\n );\n\n const daysWithBreaks = orderedDays.filter(\n (day) => day.break_duration_minutes > 0,\n );\n const groupedByBreak = groupBy(daysWithBreaks, (day) =>\n String(day.break_duration_minutes),\n );\n // Object.entries would reorder purely-numeric keys (\"30\", \"60\", ...)\n // ascending numerically regardless of insertion order, so walk the\n // group keys in the order their first day appears instead.\n const breakDurationKeysInOrder = [\n ...new Set(daysWithBreaks.map((day) => String(day.break_duration_minutes))),\n ];\n\n const breakLines = breakDurationKeysInOrder.map((breakDurationMinutes) =>\n buildBreakLine(\n breakDurationMinutes,\n groupedByBreak[breakDurationMinutes],\n breakDurationKeysInOrder.length === 1,\n ),\n );\n\n return { workHoursLines, breakLines, totalWeeklyHours };\n}\n\n/**\n * The schedule to display/edit: the field's saved `value` when present,\n * otherwise a schedule built from the metadata's `default_schedule` — so the\n * summary and the edit modal show sensible defaults before the employer has\n * saved anything (create flow), not just after (edit flow).\n */\nexport function resolveDailyScheduleValue({\n value,\n defaultSchedule,\n}: {\n value: DailyScheduleValue | undefined;\n defaultSchedule: DailyScheduleDefaultDay[];\n}): DailyScheduleValue {\n if (value !== undefined) {\n return value;\n }\n\n return {\n selected_days: defaultSchedule.map((day) => day.day),\n schedule: defaultSchedule.reduce(\n (acc, day) => ({\n ...acc,\n [day.day]: {\n start_time: day.start_time,\n end_time: day.end_time,\n break_duration_minutes: day.break_duration_minutes,\n },\n }),\n {},\n ),\n };\n}\n\n/**\n * Returns the days of the week that are selected in the daily schedule, and the start/end time and break duration for each day.\n * If the daily schedule is not set, it returns the default schedule.\n * @param value - The daily schedule value.\n * @param defaultSchedule - The default schedule.\n * @returns The days of the week that are selected in the daily schedule, and the start/end time and break duration for each day.\n */\nexport function getDailyScheduleSummaryDays(\n value: DailyScheduleValue | undefined,\n defaultSchedule: DailyScheduleDefaultDay[],\n): DailyScheduleSummaryDay[] {\n const { selected_days: selectedDays, schedule } = resolveDailyScheduleValue({\n value,\n defaultSchedule,\n });\n const summaryDays: DailyScheduleSummaryDay[] = selectedDays.map((day) => {\n const daySchedule = schedule[day];\n return {\n day,\n start_time: daySchedule?.start_time ?? '',\n end_time: daySchedule?.end_time ?? '',\n break_duration_minutes: daySchedule?.break_duration_minutes ?? 0,\n };\n });\n\n return summaryDays;\n}\n\nfunction workScheduleCopy(workSchedule: string | undefined): string {\n if (workSchedule === WORK_SCHEDULE_FULL_TIME) {\n return 'a full-time employee';\n }\n\n if (workSchedule === WORK_SCHEDULE_PART_TIME) {\n return 'a part-time employee';\n }\n\n return 'an employee';\n}\n\n/**\n * Ported from Platform's `DailyScheduleError.jsx`: flags a schedule whose total\n * weekly hours fall outside the country/work-schedule's allowed range, e.g.\n * \"Work hours outside of weekly range - The work week for a full-time\n * employee in Germany is between 31 and 48 hours.\"\n */\nexport function getDailyScheduleHoursError({\n totalWeeklyHours,\n workHoursBounds,\n countryName,\n workSchedule,\n}: {\n totalWeeklyHours: number;\n workHoursBounds: WorkHoursRange;\n countryName: string;\n workSchedule: string | undefined;\n}): DailyScheduleHoursError | null {\n if (totalWeeklyHours === 0) {\n return null;\n }\n\n const { minimum, maximum } = workHoursBounds;\n\n if (totalWeeklyHours >= minimum && totalWeeklyHours <= maximum) {\n return null;\n }\n\n const maxHoursCopy = getSingularPluralUnit({\n number: maximum,\n singular: 'hour',\n plural: 'hours',\n followCopyGuidelines: false,\n });\n const rangeCopy =\n minimum === maximum\n ? maxHoursCopy\n : `between ${minimum} and ${maxHoursCopy}`;\n\n return {\n header: 'Work hours outside of weekly range',\n message: `The work week for ${workScheduleCopy(workSchedule)} in ${countryName} is ${rangeCopy}.`,\n };\n}\n"],"mappings":"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","names":["groupBy","TIME_PATTERN","DAYS_OF_THE_WEEK","getDefaultsFromSchema","metadata","subtractBreaksFromWorkHours","countryName","defaultStartTime","defaultEndTime","defaultBreakDurationMinutes","defaultSchedule","workHoursPerWeekConfig","availableWorkDays","__name","SCHEDULE_TYPE_BUSINESS_HOURS","WORK_SCHEDULE_FULL_TIME","WORK_SCHEDULE_PART_TIME","getWorkHoursBounds","scheduleType","workSchedule","minimumOverride","MINUTES_IN_HOUR","convertTimeStringToMinutes","time","hours","minutes","part","convertMinutesToHours","timeInMinutes","totalHours","decimals","calculateWorkingHours","startTime","endTime","breakDurationMinutes","startTimeInMinutes","totalTimeInMinutes","findLastConsecutiveDay","startDay","days","index","lastConsecutiveDay","currentDay","nextDay","formatTimeLabel","capitalizeDay","day","boldDayListSegments","dayLabel","buildWorkHoursLine","timeKey","daysInGroup","dayNames","allDaysAreConsecutive","timeSegments","formatDayListText","names","formatBreakDurationLabel","remainingMinutes","buildBreakLine","isOnlyGroup","breakLabel","dayListText","calculateTotalWeeklyHours","total","buildDailyScheduleSummary","orderedDays","a","b","totalWeeklyHours","daysWithCompleteTimes","groupedByTime","groupBy","workHoursLines","daysWithBreaks","groupedByBreak","breakDurationKeysInOrder","breakLines","resolveDailyScheduleValue","value","acc","getDailyScheduleSummaryDays","selectedDays","schedule","daySchedule","workScheduleCopy","getDailyScheduleHoursError","workHoursBounds","minimum","maximum","maxHoursCopy","getSingularPluralUnit","rangeCopy"]}
@@ -1,2 +1,2 @@
1
- import{b as s}from"./chunk-SS2SYDCB.js";import{a as t}from"./chunk-AFTFDGSD.js";import{a as l}from"./chunk-5NN5RWBG.js";import{b as m}from"./chunk-C7KVPEVX.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";import{createElement as p}from"react";function c({onSubmit:a,defaultValues:n}){let{formId:d,employeeBag:e}=s(),o=t({handleValidation:e.handleValidation,defaultValues:n??{},checkFieldUpdates:e.setFieldValues});return p(m,{...o,key:`form-${e.stepState.currentStep.name}`},i("form",{id:d,onSubmit:o.handleSubmit(f=>a(f,o)),className:"space-y-4 RemoteFlows__PayrollEmployeeForm",children:i(l,{fields:e.fields,fieldsets:e.meta["x-jsf-fieldsets"],fieldValues:e.fieldValues})}))}r(c,"PayrollEmployeeForm");export{c as a};
2
- //# sourceMappingURL=chunk-WU66SHVJ.js.map
1
+ import{b as s}from"./chunk-SS2SYDCB.js";import{a as t}from"./chunk-AFTFDGSD.js";import{a as l}from"./chunk-VJTAVPZX.js";import{a as m}from"./chunk-NEVSZEMH.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";import{createElement as p}from"react";function c({onSubmit:a,defaultValues:n}){let{formId:d,employeeBag:e}=s(),o=t({handleValidation:e.handleValidation,defaultValues:n??{},checkFieldUpdates:e.setFieldValues});return p(m,{...o,key:`form-${e.stepState.currentStep.name}`},i("form",{id:d,onSubmit:o.handleSubmit(f=>a(f,o)),className:"space-y-4 RemoteFlows__PayrollEmployeeForm",children:i(l,{fields:e.fields,fieldsets:e.meta["x-jsf-fieldsets"],fieldValues:e.fieldValues})}))}r(c,"PayrollEmployeeForm");export{c as a};
2
+ //# sourceMappingURL=chunk-LOFKF243.js.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-GNVGW65D.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function F({onSubmit:t,onSuccess:s,onError:m}){let{terminationBag:o}=e(),d=r(async a=>{let l=await o?.parseFormValues(a,!0);await t?.(l);let i=await o?.onSubmit(a);i?.error?m?.(i.rawError):i?.data&&await s?.(i.data)},"handleSubmit");return u(n,{defaultValues:o.fieldValues,fields:o?.fields,onSubmit:d})}r(F,"AdditionalDetailsForm");export{F as a};
2
- //# sourceMappingURL=chunk-BYD4TSDD.js.map
1
+ import{a as n}from"./chunk-U7X7AHH4.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function F({onSubmit:t,onSuccess:s,onError:m}){let{terminationBag:o}=e(),d=r(async a=>{let l=await o?.parseFormValues(a,!0);await t?.(l);let i=await o?.onSubmit(a);i?.error?m?.(i.rawError):i?.data&&await s?.(i.data)},"handleSubmit");return u(n,{defaultValues:o.fieldValues,fields:o?.fields,onSubmit:d})}r(F,"AdditionalDetailsForm");export{F as a};
2
+ //# sourceMappingURL=chunk-LRXKF2LC.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-UWIUECXU.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-L7FN3XPX.js.map
1
+ import{a}from"./chunk-2BH4CIY3.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-M2UGSIVQ.js.map
@@ -1,2 +1,2 @@
1
- import{b as f}from"./chunk-76ZDXC2T.js";import{b as p}from"./chunk-KFYWUBRS.js";import{a as c}from"./chunk-5NN5RWBG.js";import{b as d}from"./chunk-C7KVPEVX.js";import{i as a}from"./chunk-SRLBVFNQ.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y,useRef as b}from"react";import{jsx as l}from"react/jsx-runtime";import{createElement as g}from"react";function B({defaultValues:s,onSubmit:u,components:F}){let{formId:C,createCompanyBag:o}=f(),m=b(s),h=p(o.handleValidation),r=a({resolver:h,defaultValues:s,shouldUnregister:!1,mode:"onBlur"});y(()=>{let n=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==m.current[i])&&(o?.checkFieldUpdates(e),m.current={...e})});return()=>n?.unsubscribe()},[]);let S=t(async n=>{await u(n)},"handleSubmit");return g(d,{...r,key:`form-${o.stepState.currentStep.name}`},l("form",{id:C,onSubmit:r.handleSubmit(S),className:"space-y-4 RemoteFlows__OnboardingForm",children:l(c,{components:F,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}t(B,"CreateCompanyForm");export{B as a};
2
- //# sourceMappingURL=chunk-BQGTMOIQ.js.map
1
+ import{b as f}from"./chunk-76ZDXC2T.js";import{b as p}from"./chunk-KFYWUBRS.js";import{a as c}from"./chunk-VJTAVPZX.js";import{a as d}from"./chunk-NEVSZEMH.js";import{i as a}from"./chunk-SRLBVFNQ.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y,useRef as b}from"react";import{jsx as l}from"react/jsx-runtime";import{createElement as g}from"react";function B({defaultValues:s,onSubmit:u,components:F}){let{formId:C,createCompanyBag:o}=f(),m=b(s),h=p(o.handleValidation),r=a({resolver:h,defaultValues:s,shouldUnregister:!1,mode:"onBlur"});y(()=>{let n=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==m.current[i])&&(o?.checkFieldUpdates(e),m.current={...e})});return()=>n?.unsubscribe()},[]);let S=t(async n=>{await u(n)},"handleSubmit");return g(d,{...r,key:`form-${o.stepState.currentStep.name}`},l("form",{id:C,onSubmit:r.handleSubmit(S),className:"space-y-4 RemoteFlows__OnboardingForm",children:l(c,{components:F,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}t(B,"CreateCompanyForm");export{B as a};
2
+ //# sourceMappingURL=chunk-N2WIEKM6.js.map
@@ -0,0 +1,2 @@
1
+ import{a as I}from"./chunk-ZI7EPJT7.js";import{c as R,d as x,e as C,f as T}from"./chunk-SRLBVFNQ.js";import{n as d,r as P}from"./chunk-C4HFMTSB.js";import{c as N}from"./chunk-H2O4CVKF.js";import{a as m}from"./chunk-P37U34EQ.js";import*as r from"react";import{Fragment as h,jsx as i,jsxs as F}from"react/jsx-runtime";var w=T,f=r.createContext({}),z=m(({...e})=>i(f.Provider,{value:{name:e.name},children:i(x,{...e})}),"FormField"),D=m(({name:e,children:t})=>i(f.Provider,{value:{name:e},children:t}),"FormFieldNameProvider"),u=m(()=>{let e=r.useContext(f),t=r.useContext(V),{getFieldState:o}=C(),n=R({name:e.name}),s=o(e.name,n);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:a}=t;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...s}},"useFormField"),V=r.createContext({});function O({className:e,...t}){let o=r.useId();return i(V.Provider,{value:{id:o},children:i("div",{"data-slot":"form-item",...t,className:d("grid gap-2",e)})})}m(O,"FormItem");function W({className:e,...t}){let{error:o,formItemId:n}=u();return i(I,{"data-slot":"form-label","data-error":!!o,className:d("text-base-color mb-1 data-[error=true]:text-destructive",e),htmlFor:n,...t})}m(W,"FormLabel");var v=r.forwardRef(({children:e,...t},o)=>{let{error:n,formItemId:s,formDescriptionId:a,formMessageId:l}=u(),c={"data-slot":"form-control",id:s,"aria-describedby":n?`${a} ${l}`:`${a}`,"aria-invalid":!!n,...t};return r.isValidElement(e)?r.cloneElement(e,{...e.props,...c,ref:o}):i(h,{children:e})});v.displayName="FormControl";function b({helpCenter:e,className:t,children:o,as:n,id:s,...a}){let l=n||"p",c=N();if(typeof o=="string"){let p=P(o);if(c){let g=c(p);return F(l,{"data-slot":"form-description",id:s,className:d("text-base-color text-xs",t),"data-transformed":"true","data-sanitized":"true",...a,children:[g," ",e&&e]})}return F(l,{"data-slot":"form-description",id:s,className:d("text-base-color text-xs",t),"data-sanitized":"true","data-children-type":"string",...a,children:[i("span",{dangerouslySetInnerHTML:{__html:p}})," ",e&&e]})}return F(l,{"data-slot":"form-description",id:s,className:d("text-base-color text-xs",t),"data-sanitized":"false","data-children-type":"other",...a,children:[typeof o=="function"?o():o,e&&e]})}m(b,"BaseFormDescription");function _({...e}){let{formDescriptionId:t}=u();return i(b,{id:t,...e})}m(_,"FormDescription");function k({className:e,...t}){let{error:o,formMessageId:n}=u(),s=o?String(o?.message??""):t.children;return s?i("p",{"data-slot":"form-message",id:n,className:d("text-destructive text-sm",e),...t,children:s}):null}m(k,"FormMessage");export{w as a,z as b,D as c,O as d,W as e,v as f,b as g,_ as h,k as i};
2
+ //# sourceMappingURL=chunk-NEVSZEMH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} from 'react-hook-form';\n\nimport { cn, sanitizeHtml } from '@/src/lib/utils';\nimport { Label } from '@/src/components/ui/label';\nimport { useTransformer } from '@/src/context';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\n/**\n * Names the field for `FormLabel`, `FormControl` and `FormMessage` without registering a\n * controller for it.\n *\n * `FormField` is what normally supplies this, but a component supplied through\n * `x-jsf-presentation.Component` is rendered on its own — it already receives `value` and\n * `setValue` as props, so wrapping it in a `Controller` would take over the value handling it\n * was given. This provides only the missing name, so those three components can find the\n * field's error the way they do everywhere else.\n */\nconst FormFieldNameProvider = ({\n name,\n children,\n}: {\n name: string;\n children: React.ReactNode;\n}) => (\n <FormFieldContext.Provider value={{ name }}>\n {children}\n </FormFieldContext.Provider>\n);\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot='form-item'\n {...props}\n className={cn('grid gap-2', className)}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<'label'>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot='form-label'\n data-error={!!error}\n className={cn(\n 'text-base-color mb-1 data-[error=true]:text-destructive',\n className,\n )}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nconst FormControl = React.forwardRef<\n HTMLElement,\n React.HTMLAttributes<HTMLElement> & { children?: React.ReactNode }\n>(({ children, ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n const controlProps = {\n 'data-slot': 'form-control',\n id: formItemId,\n 'aria-describedby': !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`,\n 'aria-invalid': !!error,\n ...props,\n };\n\n if (!React.isValidElement(children)) {\n return <>{children}</>;\n }\n\n return React.cloneElement(\n children as React.ReactElement<Record<string, unknown>>,\n // WE NEED TO FIX: react-hooks/refs - Passing a ref to a function may read its value during render\n // oxlint-disable-next-line react-hooks/refs\n { ...(children.props as object), ...controlProps, ref },\n );\n});\n\nFormControl.displayName = 'FormControl';\n\nexport function BaseFormDescription<T extends React.ElementType = 'p'>({\n helpCenter,\n className,\n children,\n as,\n id,\n ...props\n}: React.ComponentProps<'p'> & {\n helpCenter?: React.ReactNode;\n children?: React.ReactNode | (() => React.ReactNode);\n as?: T;\n id?: string;\n} & Omit<React.ComponentPropsWithoutRef<T>, 'children' | 'className' | 'id'>) {\n const Component = as || 'p';\n const transformHtmlToComponents = useTransformer();\n // we check if children is a string, happens in 95% of the cases I believe\n if (typeof children === 'string') {\n const sanitized = sanitizeHtml(children);\n // if we have a transformer, we use it to transform the children\n if (transformHtmlToComponents) {\n const transformed = transformHtmlToComponents(sanitized);\n return (\n <Component\n data-slot='form-description'\n id={id}\n className={cn('text-base-color text-xs', className)}\n data-transformed='true'\n data-sanitized='true'\n {...props}\n >\n {transformed} {helpCenter && helpCenter}\n </Component>\n );\n }\n // if we don't have a transformer, we sanitize the children and render it as a string\n return (\n <Component\n data-slot='form-description'\n id={id}\n className={cn('text-base-color text-xs', className)}\n data-sanitized='true'\n data-children-type='string'\n {...props}\n >\n <span dangerouslySetInnerHTML={{ __html: sanitized }} />{' '}\n {helpCenter && helpCenter}\n </Component>\n );\n }\n\n // this happens when in theory we pass a ReactNode, I don't really know if this case works in the real world\n // I believe we added when we started but scared to remove it\n return (\n <Component\n data-slot='form-description'\n id={id}\n className={cn('text-base-color text-xs', className)}\n data-sanitized='false'\n data-children-type='other'\n {...props}\n >\n {typeof children === 'function' ? children() : children}\n {helpCenter && helpCenter}\n </Component>\n );\n}\n\nfunction FormDescription<T extends React.ElementType = 'p'>({\n ...props\n}: React.ComponentProps<'p'> & {\n helpCenter?: React.ReactNode;\n children?: React.ReactNode | (() => React.ReactNode);\n as?: T;\n} & Omit<React.ComponentPropsWithoutRef<T>, 'children' | 'className' | 'id'>) {\n const { formDescriptionId } = useFormField();\n return <BaseFormDescription id={formDescriptionId} {...props} />;\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot='form-message'\n id={formMessageId}\n className={cn('text-destructive text-sm', className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormFieldNameProvider,\n FormItem,\n FormLabel,\n FormMessage,\n useFormField,\n};\n"],"mappings":"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","names":["React","Fragment","jsx","jsxs","Form","FormProvider","FormFieldContext","FormField","__name","props","Controller","FormFieldNameProvider","name","children","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","useFormContext","formState","useFormState","fieldState","id","FormItem","className","cn","FormLabel","error","formItemId","Label","FormControl","ref","formDescriptionId","formMessageId","controlProps","BaseFormDescription","helpCenter","as","Component","transformHtmlToComponents","useTransformer","sanitized","sanitizeHtml","transformed","FormDescription","FormMessage","body"]}