@gusto/embedded-react-sdk 0.48.2 → 0.48.3

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 (371) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +33 -2
  3. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  4. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.d.ts +1 -0
  5. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  6. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.d.ts +1 -0
  7. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  8. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +23 -2
  9. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  10. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.d.ts +2 -0
  11. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  12. package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +1 -0
  13. package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.js.map +1 -1
  14. package/dist/components/Company/AssignSignatory/CreateSignatory/index.d.ts +2 -2
  15. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.d.ts +10 -1
  16. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -5
  17. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  18. package/dist/components/Company/AssignSignatory/Head.d.ts +1 -0
  19. package/dist/components/Company/AssignSignatory/Head.js.map +1 -1
  20. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.d.ts +1 -0
  21. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  22. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +24 -2
  23. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  24. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.d.ts +3 -0
  25. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  26. package/dist/components/Company/AssignSignatory/InviteSignatory/index.d.ts +2 -2
  27. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.d.ts +6 -0
  28. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -5
  29. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  30. package/dist/components/Company/AssignSignatory/SignatoryForm.d.ts +1 -0
  31. package/dist/components/Company/AssignSignatory/SignatoryForm.js.map +1 -1
  32. package/dist/components/Company/AssignSignatory/TitleSelect.d.ts +1 -1
  33. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  34. package/dist/components/Company/AssignSignatory/index.d.ts +2 -5
  35. package/dist/components/Company/AssignSignatory/useAssignSignatory.d.ts +9 -0
  36. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -7
  37. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  38. package/dist/components/Company/BankAccount/BankAccount.d.ts +26 -0
  39. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  40. package/dist/components/Company/BankAccount/BankAccountComponents.d.ts +8 -0
  41. package/dist/components/Company/BankAccount/BankAccountComponents.js.map +1 -1
  42. package/dist/components/Company/BankAccount/BankAccountForm/Actions.d.ts +1 -0
  43. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  44. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +1 -0
  45. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
  46. package/dist/components/Company/BankAccount/BankAccountForm/Form.d.ts +3 -0
  47. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  48. package/dist/components/Company/BankAccount/BankAccountForm/Head.d.ts +1 -0
  49. package/dist/components/Company/BankAccount/BankAccountForm/Head.js.map +1 -1
  50. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -5
  51. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  52. package/dist/components/Company/BankAccount/BankAccountList/AccountView.d.ts +1 -0
  53. package/dist/components/Company/BankAccount/BankAccountList/AccountView.js.map +1 -1
  54. package/dist/components/Company/BankAccount/BankAccountList/Actions.d.ts +1 -0
  55. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  56. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +1 -0
  57. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
  58. package/dist/components/Company/BankAccount/BankAccountList/Head.d.ts +1 -0
  59. package/dist/components/Company/BankAccount/BankAccountList/Head.js.map +1 -1
  60. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.d.ts +1 -0
  61. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  62. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +1 -0
  63. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
  64. package/dist/components/Company/BankAccount/BankAccountVerify/Form.d.ts +3 -0
  65. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  66. package/dist/components/Company/BankAccount/BankAccountVerify/Head.d.ts +1 -0
  67. package/dist/components/Company/BankAccount/BankAccountVerify/Head.js.map +1 -1
  68. package/dist/components/Company/BankAccount/stateMachine.d.ts +1 -0
  69. package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
  70. package/dist/components/Company/DocumentSigner/DocumentList/Actions.d.ts +1 -0
  71. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  72. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +21 -0
  73. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  74. package/dist/components/Company/DocumentSigner/DocumentList/Head.d.ts +1 -0
  75. package/dist/components/Company/DocumentSigner/DocumentList/Head.js.map +1 -1
  76. package/dist/components/Company/DocumentSigner/DocumentList/List.d.ts +1 -0
  77. package/dist/components/Company/DocumentSigner/DocumentList/List.js.map +1 -1
  78. package/dist/components/Company/DocumentSigner/DocumentList/ManageSignatories.d.ts +1 -0
  79. package/dist/components/Company/DocumentSigner/DocumentList/ManageSignatories.js.map +1 -1
  80. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -5
  81. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  82. package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +37 -0
  83. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  84. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +31 -2
  85. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  86. package/dist/components/Company/DocumentSigner/assignSignatoryState.d.ts +1 -0
  87. package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
  88. package/dist/components/Company/DocumentSigner/documentSignerStateMachine.d.ts +4 -0
  89. package/dist/components/Company/DocumentSigner/documentSignerStateMachine.js.map +1 -1
  90. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.d.ts +41 -0
  91. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js.map +1 -1
  92. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +40 -10
  93. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.js.map +1 -1
  94. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.d.ts +111 -0
  95. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js.map +1 -1
  96. package/dist/components/Company/DocumentSigner/stateMachine.d.ts +1 -0
  97. package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
  98. package/dist/components/Company/DocumentSigner/useDocumentSigner.d.ts +1 -0
  99. package/dist/components/Company/FederalTaxes/Actions.d.ts +1 -0
  100. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  101. package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +13 -0
  102. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  103. package/dist/components/Company/FederalTaxes/Form.d.ts +1 -0
  104. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  105. package/dist/components/Company/FederalTaxes/Head.d.ts +1 -0
  106. package/dist/components/Company/FederalTaxes/Head.js.map +1 -1
  107. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +3 -0
  108. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +9 -10
  109. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  110. package/dist/components/Company/Industry/Actions.d.ts +1 -0
  111. package/dist/components/Company/Industry/Actions.js.map +1 -1
  112. package/dist/components/Company/Industry/Context.js +7 -8
  113. package/dist/components/Company/Industry/Context.js.map +1 -1
  114. package/dist/components/Company/Industry/Edit.d.ts +3 -0
  115. package/dist/components/Company/Industry/Edit.js.map +1 -1
  116. package/dist/components/Company/Industry/Head.d.ts +1 -0
  117. package/dist/components/Company/Industry/Head.js.map +1 -1
  118. package/dist/components/Company/Industry/Industry.d.ts +21 -0
  119. package/dist/components/Company/Industry/Industry.js.map +1 -1
  120. package/dist/components/Company/Industry/IndustrySelect.d.ts +1 -0
  121. package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
  122. package/dist/components/Company/Industry/index.d.ts +1 -1
  123. package/dist/components/Company/Locations/LocationForm/Actions.d.ts +1 -0
  124. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  125. package/dist/components/Company/Locations/LocationForm/Form.d.ts +3 -0
  126. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  127. package/dist/components/Company/Locations/LocationForm/Head.d.ts +1 -0
  128. package/dist/components/Company/Locations/LocationForm/Head.js.map +1 -1
  129. package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +16 -0
  130. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  131. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -5
  132. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  133. package/dist/components/Company/Locations/Locations.d.ts +26 -0
  134. package/dist/components/Company/Locations/Locations.js.map +1 -1
  135. package/dist/components/Company/Locations/LocationsList/Actions.d.ts +1 -0
  136. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  137. package/dist/components/Company/Locations/LocationsList/Head.d.ts +1 -0
  138. package/dist/components/Company/Locations/LocationsList/Head.js.map +1 -1
  139. package/dist/components/Company/Locations/LocationsList/List.d.ts +1 -1
  140. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  141. package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +23 -2
  142. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  143. package/dist/components/Company/Locations/LocationsList/index.d.ts +1 -1
  144. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -5
  145. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  146. package/dist/components/Company/Locations/locationsStateMachine.d.ts +4 -0
  147. package/dist/components/Company/Locations/locationsStateMachine.js.map +1 -1
  148. package/dist/components/Company/Locations/stateMachine.d.ts +1 -1
  149. package/dist/components/Company/Locations/stateMachine.js +0 -1
  150. package/dist/components/Company/Locations/stateMachine.js.map +1 -1
  151. package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +25 -0
  152. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  153. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +19 -1
  154. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  155. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.d.ts +1 -0
  156. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  157. package/dist/components/Company/OnboardingOverview/Completed.d.ts +1 -0
  158. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  159. package/dist/components/Company/OnboardingOverview/MissingRequirements.d.ts +1 -0
  160. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  161. package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +18 -0
  162. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  163. package/dist/components/Company/OnboardingOverview/context.js +4 -5
  164. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  165. package/dist/components/Company/PaySchedule/PaySchedule.d.ts +36 -3
  166. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  167. package/dist/components/Company/PaySchedule/PayScheduleComponents.d.ts +3 -0
  168. package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
  169. package/dist/components/Company/PaySchedule/PayScheduleForm.d.ts +1 -0
  170. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  171. package/dist/components/Company/PaySchedule/PayScheduleList.d.ts +1 -0
  172. package/dist/components/Company/PaySchedule/PayScheduleList.js.map +1 -1
  173. package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +1 -0
  174. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
  175. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +136 -0
  176. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
  177. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/index.d.ts +2 -1
  178. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +48 -26
  179. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
  180. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +134 -0
  181. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  182. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +25 -0
  183. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  184. package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +6 -0
  185. package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
  186. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.d.ts +1 -0
  187. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  188. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.d.ts +1 -3
  189. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +16 -18
  190. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
  191. package/dist/components/Company/StateTaxes/StateTaxesForm/Head.d.ts +1 -0
  192. package/dist/components/Company/StateTaxes/StateTaxesForm/Head.js.map +1 -1
  193. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +31 -0
  194. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  195. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -5
  196. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  197. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.d.ts +2 -0
  198. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -1
  199. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.d.ts +1 -0
  200. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  201. package/dist/components/Company/StateTaxes/StateTaxesList/Head.d.ts +1 -0
  202. package/dist/components/Company/StateTaxes/StateTaxesList/Head.js.map +1 -1
  203. package/dist/components/Company/StateTaxes/StateTaxesList/List.d.ts +1 -0
  204. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  205. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +16 -0
  206. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  207. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -5
  208. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  209. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +1 -0
  210. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
  211. package/dist/components/Company/exports/companyOnboarding.d.ts +7 -6
  212. package/dist/components/Company/exports/companyOnboarding.js +18 -16
  213. package/dist/components/Company/exports/companyOnboarding.js.map +1 -1
  214. package/dist/components/Company/index.d.ts +1 -17
  215. package/dist/components/Contractor/Address/Actions.d.ts +1 -0
  216. package/dist/components/Contractor/Address/Actions.js.map +1 -1
  217. package/dist/components/Contractor/Address/Address.d.ts +36 -1
  218. package/dist/components/Contractor/Address/Address.js.map +1 -1
  219. package/dist/components/Contractor/Address/Form.d.ts +1 -0
  220. package/dist/components/Contractor/Address/Form.js.map +1 -1
  221. package/dist/components/Contractor/Address/Head.d.ts +1 -0
  222. package/dist/components/Contractor/Address/Head.js.map +1 -1
  223. package/dist/components/Contractor/Address/index.d.ts +1 -1
  224. package/dist/components/Contractor/Address/useAddress.d.ts +8 -1
  225. package/dist/components/Contractor/Address/useAddress.js +6 -7
  226. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  227. package/dist/components/Contractor/ContractorList/index.d.ts +22 -9
  228. package/dist/components/Contractor/ContractorList/index.js +1 -3
  229. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  230. package/dist/components/Contractor/ContractorList/useContractorList.d.ts +3 -5
  231. package/dist/components/Contractor/ContractorList/useContractorList.js.map +1 -1
  232. package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +33 -9
  233. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  234. package/dist/components/Contractor/NewHireReport/types.d.ts +7 -0
  235. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +58 -0
  236. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  237. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +28 -2
  238. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  239. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.d.ts +1 -0
  240. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  241. package/dist/components/Contractor/PaymentMethod/BankAccountForm.d.ts +1 -0
  242. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
  243. package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +33 -16
  244. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
  245. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.d.ts +1 -9
  246. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +11 -15
  247. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +1 -1
  248. package/dist/components/Contractor/PaymentMethod/types.d.ts +7 -0
  249. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +40 -3
  250. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +1 -2
  251. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  252. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +1 -0
  253. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  254. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.d.ts +4 -18
  255. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js +0 -1
  256. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js.map +1 -1
  257. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.d.ts +1 -0
  258. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  259. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.d.ts +1 -0
  260. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
  261. package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.d.ts +1 -0
  262. package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.js.map +1 -1
  263. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +1 -0
  264. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  265. package/dist/components/Contractor/Payments/CreatePayment/helpers.d.ts +1 -0
  266. package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +1 -1
  267. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +40 -0
  268. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
  269. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +13 -0
  270. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  271. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +2 -0
  272. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  273. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +30 -3
  274. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +1 -2
  275. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  276. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +1 -0
  277. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  278. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.d.ts +15 -3
  279. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +1 -2
  280. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
  281. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +1 -0
  282. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  283. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +25 -2
  284. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  285. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.d.ts +1 -0
  286. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  287. package/dist/components/Contractor/Payments/PaymentSummary/index.d.ts +1 -2
  288. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +28 -3
  289. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +1 -2
  290. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  291. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +1 -0
  292. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  293. package/dist/components/Contractor/Payments/types.d.ts +8 -4
  294. package/dist/components/Contractor/Profile/ContractorProfile.d.ts +30 -6
  295. package/dist/components/Contractor/Profile/ContractorProfile.js +5 -9
  296. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
  297. package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +2 -0
  298. package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +1 -1
  299. package/dist/components/Contractor/Profile/index.d.ts +1 -2
  300. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +16 -2
  301. package/dist/components/Contractor/Profile/useContractorProfile.js +28 -26
  302. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  303. package/dist/components/Contractor/Submit/Submit.d.ts +21 -1
  304. package/dist/components/Contractor/Submit/Submit.js +1 -2
  305. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  306. package/dist/components/Contractor/Submit/SubmitDone.d.ts +1 -0
  307. package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
  308. package/dist/components/Contractor/exports/contractorManagement.d.ts +6 -6
  309. package/dist/components/Contractor/exports/contractorOnboarding.d.ts +9 -4
  310. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +29 -61
  311. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +19 -23
  312. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js +5 -0
  313. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -1
  314. package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -3
  315. package/dist/components/Employee/Deductions/onboarding/Deductions.js +21 -26
  316. package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
  317. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js +55 -50
  318. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js.map +1 -1
  319. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.d.ts +0 -4
  320. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js +33 -43
  321. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js.map +1 -1
  322. package/dist/components/Employee/Deductions/onboarding/stateMachine.d.ts +0 -1
  323. package/dist/components/Employee/Deductions/onboarding/stateMachine.js +36 -60
  324. package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
  325. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +63 -61
  326. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
  327. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -18
  328. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +2 -25
  329. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -5
  330. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  331. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +1 -4
  332. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +2 -48
  333. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +22 -14
  334. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
  335. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +3 -20
  336. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +3 -15
  337. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.d.ts +3 -12
  338. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +2 -11
  339. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +3 -22
  340. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +3 -17
  341. package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.d.ts +3 -10
  342. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -2
  343. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  344. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +2 -18
  345. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +144 -131
  346. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  347. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +3 -3
  348. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +167 -167
  349. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  350. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +40 -35
  351. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  352. package/dist/components/Payroll/usePreparedPayrollData.js +3 -4
  353. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  354. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +1 -2
  355. package/dist/index.d.ts +2 -2
  356. package/dist/index.js +90 -82
  357. package/dist/index.js.map +1 -1
  358. package/dist/partner-hook-utils/form/buildFormSchema.d.ts +27 -4
  359. package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
  360. package/dist/shared/constants.d.ts +0 -4
  361. package/dist/shared/constants.js +0 -2
  362. package/dist/shared/constants.js.map +1 -1
  363. package/dist/style.css +1 -1
  364. package/docs/reference/endpoint-inventory.json +11 -4
  365. package/package.json +6 -6
  366. package/dist/components/Contractor/index.d.ts +0 -14
  367. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.d.ts +0 -8
  368. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.js +0 -44
  369. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.js.map +0 -1
  370. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.module.scss.js +0 -12
  371. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.module.scss.js.map +0 -1
@@ -1,14 +1,17 @@
1
1
  import { z } from 'zod';
2
2
  import { Contractor } from '@gusto/embedded-api-v-2025-11-15/models/components/contractor';
3
+ /** @internal */
3
4
  export declare const WageType: {
4
5
  readonly Fixed: "Fixed";
5
6
  readonly Hourly: "Hourly";
6
7
  };
8
+ /** @internal */
7
9
  export declare const ContractorType: {
8
10
  readonly Individual: "Individual";
9
11
  readonly Business: "Business";
10
12
  };
11
- declare const ContractorProfileSchema: z.ZodObject<{
13
+ /** @internal */
14
+ export declare const ContractorProfileSchema: z.ZodObject<{
12
15
  selfOnboarding: z.ZodBoolean;
13
16
  email: z.ZodOptional<z.ZodString>;
14
17
  contractorType: z.ZodEnum<{
@@ -28,7 +31,13 @@ declare const ContractorProfileSchema: z.ZodObject<{
28
31
  ein: z.ZodOptional<z.ZodString>;
29
32
  hourlyRate: z.ZodOptional<z.ZodNumber>;
30
33
  }, z.core.$strip>;
34
+ /**
35
+ * Form field values for the contractor profile form.
36
+ *
37
+ * @public
38
+ */
31
39
  export type ContractorProfileFormData = z.infer<typeof ContractorProfileSchema>;
40
+ /** @internal */
32
41
  export declare const createContractorProfileValidationSchema: (t: (key: string) => string, hasSsn: boolean, hasEin: boolean) => z.ZodObject<{
33
42
  selfOnboarding: z.ZodBoolean;
34
43
  email: z.ZodOptional<z.ZodString>;
@@ -49,12 +58,18 @@ export declare const createContractorProfileValidationSchema: (t: (key: string)
49
58
  ein: z.ZodOptional<z.ZodString>;
50
59
  hourlyRate: z.ZodOptional<z.ZodNumber>;
51
60
  }, z.core.$strip>;
61
+ /** @internal */
52
62
  export interface UseContractorProfileProps {
63
+ /** UUID of the company the contractor belongs to. */
53
64
  companyId: string;
65
+ /** UUID of an existing contractor to edit. When omitted, the hook creates a new contractor. */
54
66
  contractorId?: string;
67
+ /** Initial form values overlaid on top of the existing contractor (when provided). */
55
68
  defaultValues?: Partial<ContractorProfileFormData>;
69
+ /** Existing contractor entity used to seed the form in edit mode. */
56
70
  existingContractor?: Contractor;
57
71
  }
72
+ /** @internal */
58
73
  export declare function useContractorProfile({ companyId, contractorId, defaultValues, existingContractor, }: UseContractorProfileProps): {
59
74
  formMethods: import('react-hook-form').UseFormReturn<{
60
75
  selfOnboarding: boolean;
@@ -188,4 +203,3 @@ export declare function useContractorProfile({ companyId, contractorId, defaultV
188
203
  })[];
189
204
  isEditing: boolean;
190
205
  };
191
- export {};
@@ -17,18 +17,19 @@ import "@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror"
17
17
  import { SDKInternalError as Y } from "../../../types/sdkError.js";
18
18
  import { ContractorSelfOnboardingStatuses as x, componentEvents as b, ContractorOnboardingStatus as ee } from "../../../shared/constants.js";
19
19
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
20
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
20
21
  import { useI18n as oe } from "../../../i18n/I18n.js";
21
22
  import { SSN_REGEX as se, NAME_REGEX as T } from "../../../helpers/validations.js";
22
23
  import { removeNonDigits as ae } from "../../../helpers/formattedStrings.js";
23
24
  import { formatDateToStringDate as te } from "../../../helpers/dateFormatting.js";
24
- import { normalizeEin as ne } from "../../../helpers/federalEin.js";
25
- const i = L, a = J, ie = s.object({
25
+ import { normalizeEin as ie } from "../../../helpers/federalEin.js";
26
+ const n = L, a = J, ne = s.object({
26
27
  // Self-onboarding toggle
27
28
  selfOnboarding: s.boolean(),
28
29
  email: s.string().email().optional(),
29
30
  // Required contractor fields
30
31
  contractorType: s.enum([a.Individual, a.Business]),
31
- wageType: s.enum([i.Hourly, i.Fixed]),
32
+ wageType: s.enum([n.Hourly, n.Fixed]),
32
33
  startDate: s.date(),
33
34
  // Individual contractor fields
34
35
  firstName: s.string().min(1).regex(T).optional(),
@@ -40,77 +41,77 @@ const i = L, a = J, ie = s.object({
40
41
  ein: s.string().optional(),
41
42
  // Wage fields
42
43
  hourlyRate: s.number().min(0).optional()
43
- }), re = (t, f, m) => ie.superRefine(
44
- (e, n) => {
45
- if (e.selfOnboarding && !e.email && n.addIssue({
44
+ }), re = (t, f, m) => ne.superRefine(
45
+ (e, i) => {
46
+ if (e.selfOnboarding && !e.email && i.addIssue({
46
47
  code: s.ZodIssueCode.custom,
47
48
  path: ["email"],
48
49
  message: t("validations.email")
49
50
  }), e.contractorType === a.Individual)
50
- if (e.firstName || n.addIssue({
51
+ if (e.firstName || i.addIssue({
51
52
  code: s.ZodIssueCode.custom,
52
53
  path: ["firstName"],
53
54
  message: t("validations.firstName")
54
- }), e.lastName || n.addIssue({
55
+ }), e.lastName || i.addIssue({
55
56
  code: s.ZodIssueCode.custom,
56
57
  path: ["lastName"],
57
58
  message: t("validations.lastName")
58
59
  }), !e.ssn)
59
- !f && !e.selfOnboarding && n.addIssue({
60
+ !f && !e.selfOnboarding && i.addIssue({
60
61
  code: s.ZodIssueCode.custom,
61
62
  path: ["ssn"],
62
63
  message: t("validations.ssn")
63
64
  });
64
65
  else {
65
66
  const l = ae(e.ssn);
66
- se.test(l) || n.addIssue({
67
+ se.test(l) || i.addIssue({
67
68
  code: s.ZodIssueCode.custom,
68
69
  path: ["ssn"],
69
70
  message: t("validations.ssnFormat")
70
71
  });
71
72
  }
72
73
  if (e.contractorType === a.Business)
73
- if (e.businessName || n.addIssue({
74
+ if (e.businessName || i.addIssue({
74
75
  code: s.ZodIssueCode.custom,
75
76
  path: ["businessName"],
76
77
  message: t("validations.businessName")
77
78
  }), !e.ein)
78
- !m && !e.selfOnboarding && n.addIssue({
79
+ !m && !e.selfOnboarding && i.addIssue({
79
80
  code: s.ZodIssueCode.custom,
80
81
  path: ["ein"],
81
82
  message: t("validations.ein")
82
83
  });
83
84
  else {
84
- const l = ne(e.ein);
85
- /^\d{2}-\d{7}$/.test(l) || n.addIssue({
85
+ const l = ie(e.ein);
86
+ /^\d{2}-\d{7}$/.test(l) || i.addIssue({
86
87
  code: s.ZodIssueCode.custom,
87
88
  path: ["ein"],
88
89
  message: t("validations.einFormat")
89
90
  });
90
91
  }
91
- e.wageType === i.Hourly && (e.hourlyRate === void 0 || e.hourlyRate < 0) && n.addIssue({
92
+ e.wageType === n.Hourly && (e.hourlyRate === void 0 || e.hourlyRate < 0) && i.addIssue({
92
93
  code: s.ZodIssueCode.custom,
93
94
  path: ["hourlyRate"],
94
95
  message: t("validations.hourlyRate")
95
96
  });
96
97
  }
97
98
  );
98
- function Ce({
99
+ function Ae({
99
100
  companyId: t,
100
101
  contractorId: f,
101
102
  defaultValues: m,
102
103
  existingContractor: e
103
104
  }) {
104
105
  oe("Contractor.Profile");
105
- const { t: n } = $("Contractor.Profile"), { onEvent: l, baseSubmitHandler: g } = Q(), S = re(
106
- n,
106
+ const { t: i } = $("Contractor.Profile"), { onEvent: l, baseSubmitHandler: g } = Q(), S = re(
107
+ i,
107
108
  e?.hasSsn ?? !1,
108
109
  e?.hasEin ?? !1
109
110
  ), { mutateAsync: R, isPending: w } = k(), { mutateAsync: O, isPending: D } = K(), I = G(
110
111
  () => ({
111
112
  selfOnboarding: !1,
112
113
  contractorType: a.Business,
113
- wageType: i.Fixed,
114
+ wageType: n.Fixed,
114
115
  startDate: /* @__PURE__ */ new Date(),
115
116
  ...m,
116
117
  // Override with existing contractor data if available
@@ -120,7 +121,7 @@ function Ce({
120
121
  x.has(e.onboardingStatus)
121
122
  ) : !1,
122
123
  contractorType: e.type || a.Business,
123
- wageType: e.wageType || i.Fixed,
124
+ wageType: e.wageType || n.Fixed,
124
125
  startDate: e.startDate ? new Date(e.startDate) : /* @__PURE__ */ new Date(),
125
126
  firstName: e.firstName || void 0,
126
127
  middleInitial: e.middleInitial || void 0,
@@ -149,7 +150,7 @@ function Ce({
149
150
  startDate: te(o.startDate) || "",
150
151
  selfOnboarding: o.selfOnboarding,
151
152
  email: o.selfOnboarding ? o.email : void 0,
152
- hourlyRate: o.wageType === i.Hourly ? String(o.hourlyRate) : void 0,
153
+ hourlyRate: o.wageType === n.Hourly ? String(o.hourlyRate) : void 0,
153
154
  isActive: !0
154
155
  };
155
156
  return o.contractorType === a.Individual ? {
@@ -197,12 +198,12 @@ function Ce({
197
198
  contractorId: c
198
199
  });
199
200
  });
200
- }, A = !!y, H = u === a.Business, Z = u === a.Individual, _ = P === i.Hourly, U = u === a.Individual && !y, M = u === a.Business && !y, W = [
201
+ }, A = !!y, H = u === a.Business, Z = u === a.Individual, _ = P === n.Hourly, U = u === a.Individual && !y, M = u === a.Business && !y, W = [
201
202
  { label: "Individual", value: a.Individual },
202
203
  { label: "Business", value: a.Business }
203
204
  ], q = [
204
- { label: "Hourly", value: i.Hourly },
205
- { label: "Fixed", value: i.Fixed }
205
+ { label: "Hourly", value: n.Hourly },
206
+ { label: "Fixed", value: n.Fixed }
206
207
  ], z = w || D;
207
208
  return {
208
209
  // Form methods and submission
@@ -227,9 +228,10 @@ function Ce({
227
228
  };
228
229
  }
229
230
  export {
231
+ ne as ContractorProfileSchema,
230
232
  a as ContractorType,
231
- i as WageType,
233
+ n as WageType,
232
234
  re as createContractorProfileValidationSchema,
233
- Ce as useContractorProfile
235
+ Ae as useContractorProfile
234
236
  };
235
237
  //# sourceMappingURL=useContractorProfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContractorProfile.js","sources":["../../../../src/components/Contractor/Profile/useContractorProfile.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { useForm, useWatch } from 'react-hook-form'\nimport { z } from 'zod'\nimport { useContractorsCreateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsCreate'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsUpdate'\nimport type { ContractorCreateRequestBody } from '@gusto/embedded-api-v-2025-11-15/models/components/contractorcreaterequestbody'\nimport type { ContractorUpdateRequestBody } from '@gusto/embedded-api-v-2025-11-15/models/components/contractorupdaterequestbody'\nimport {\n WageType as ApiWageType,\n ContractorType as ApiContractorType,\n type Contractor,\n} from '@gusto/embedded-api-v-2025-11-15/models/components/contractor'\nimport { useBase } from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n ContractorOnboardingStatus,\n ContractorSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport { SSN_REGEX, NAME_REGEX } from '@/helpers/validations'\nimport { removeNonDigits } from '@/helpers/formattedStrings'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { normalizeEin } from '@/helpers/federalEin'\nimport { SDKInternalError } from '@/types/sdkError'\n\n// Re-export the API types for convenience\nexport const WageType = ApiWageType\nexport const ContractorType = ApiContractorType\n\n// Form schema definition - exported for use in stories and tests\nconst ContractorProfileSchema = z.object({\n // Self-onboarding toggle\n selfOnboarding: z.boolean(),\n email: z.string().email().optional(),\n\n // Required contractor fields\n contractorType: z.enum([ContractorType.Individual, ContractorType.Business]),\n wageType: z.enum([WageType.Hourly, WageType.Fixed]),\n startDate: z.date(),\n\n // Individual contractor fields\n firstName: z.string().min(1).regex(NAME_REGEX).optional(),\n middleInitial: z.string().optional(),\n lastName: z.string().min(1).regex(NAME_REGEX).optional(),\n ssn: z.string().optional(),\n\n // Business contractor fields\n businessName: z.string().optional(),\n ein: z.string().optional(),\n\n // Wage fields\n hourlyRate: z.number().min(0).optional(),\n})\n\nexport type ContractorProfileFormData = z.infer<typeof ContractorProfileSchema>\n\n// Create validation schema - exported for stories\nexport const createContractorProfileValidationSchema = (\n t: (key: string) => string,\n hasSsn: boolean,\n hasEin: boolean,\n) => {\n return ContractorProfileSchema.superRefine(\n (data: ContractorProfileFormData, ctx: z.RefinementCtx) => {\n // Email validation for contractor invitation\n if (data.selfOnboarding && !data.email) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['email'],\n message: t('validations.email'),\n })\n }\n\n // Individual contractor validations\n if (data.contractorType === ContractorType.Individual) {\n if (!data.firstName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['firstName'],\n message: t('validations.firstName'),\n })\n }\n\n if (!data.lastName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['lastName'],\n message: t('validations.lastName'),\n })\n }\n\n if (!data.ssn) {\n if (!hasSsn && !data.selfOnboarding) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ssn'],\n message: t('validations.ssn'),\n })\n }\n } else {\n // Validate SSN format\n const cleanSSN = removeNonDigits(data.ssn)\n if (!SSN_REGEX.test(cleanSSN)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ssn'],\n message: t('validations.ssnFormat'),\n })\n }\n }\n }\n\n // Business contractor validations\n if (data.contractorType === ContractorType.Business) {\n if (!data.businessName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['businessName'],\n message: t('validations.businessName'),\n })\n }\n\n if (!data.ein) {\n if (!hasEin && !data.selfOnboarding) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ein'],\n message: t('validations.ein'),\n })\n }\n } else {\n // Validate EIN format after normalization (XX-XXXXXXX)\n const normalizedEin = normalizeEin(data.ein)\n if (!/^\\d{2}-\\d{7}$/.test(normalizedEin)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ein'],\n message: t('validations.einFormat'),\n })\n }\n }\n }\n\n // Hourly rate validation for hourly contractors\n if (data.wageType === WageType.Hourly) {\n if (data.hourlyRate === undefined || data.hourlyRate < 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['hourlyRate'],\n message: t('validations.hourlyRate'),\n })\n }\n }\n },\n )\n}\n\nexport interface UseContractorProfileProps {\n companyId: string\n contractorId?: string\n defaultValues?: Partial<ContractorProfileFormData>\n existingContractor?: Contractor\n}\n\nexport function useContractorProfile({\n companyId,\n contractorId,\n defaultValues,\n existingContractor,\n}: UseContractorProfileProps) {\n useI18n('Contractor.Profile')\n const { t } = useTranslation('Contractor.Profile')\n const { onEvent, baseSubmitHandler } = useBase()\n\n // Create validation schema with translations\n const validationSchema = createContractorProfileValidationSchema(\n t as (key: string) => string,\n existingContractor?.hasSsn ?? false,\n existingContractor?.hasEin ?? false,\n )\n\n // API mutations\n const { mutateAsync: createContractor, isPending: isCreating } = useContractorsCreateMutation()\n const { mutateAsync: updateContractor, isPending: isUpdating } = useContractorsUpdateMutation()\n\n // Prepare default values from existing contractor or provided defaults\n const formDefaultValues = useMemo(\n () => ({\n selfOnboarding: false,\n contractorType: ContractorType.Business,\n wageType: WageType.Fixed,\n startDate: new Date(),\n ...defaultValues,\n // Override with existing contractor data if available\n ...(existingContractor && {\n selfOnboarding: existingContractor.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n ContractorSelfOnboardingStatuses.has(existingContractor.onboardingStatus)\n : false,\n contractorType: existingContractor.type || ContractorType.Business,\n wageType: existingContractor.wageType || WageType.Fixed,\n startDate: existingContractor.startDate\n ? new Date(existingContractor.startDate)\n : new Date(),\n firstName: existingContractor.firstName || undefined,\n middleInitial: existingContractor.middleInitial || undefined,\n lastName: existingContractor.lastName || undefined,\n businessName: existingContractor.businessName || undefined,\n email: existingContractor.email || undefined,\n hourlyRate: existingContractor.hourlyRate\n ? (() => {\n const parsed = parseFloat(existingContractor.hourlyRate)\n return isNaN(parsed) ? undefined : parsed\n })()\n : undefined,\n }),\n }),\n [existingContractor, defaultValues],\n )\n\n // Form setup\n const formMethods = useForm<ContractorProfileFormData, unknown, ContractorProfileFormData>({\n resolver: zodResolver(validationSchema),\n defaultValues: formDefaultValues,\n ...(existingContractor && { values: formDefaultValues }),\n resetOptions: { keepDirtyValues: true },\n })\n\n const { handleSubmit, formState } = formMethods\n\n // Watch form values for conditional rendering\n const watchedType = useWatch({ control: formMethods.control, name: 'contractorType' })\n const watchedWageType = useWatch({ control: formMethods.control, name: 'wageType' })\n const watchedSelfOnboarding = useWatch({\n control: formMethods.control,\n name: 'selfOnboarding',\n })\n\n // Helper function to transform form data to API payload\n const transformFormDataToCreatePayload = (\n data: ContractorProfileFormData,\n ): ContractorCreateRequestBody => {\n const basePayload = {\n type: data.contractorType,\n wageType: data.wageType,\n startDate: formatDateToStringDate(data.startDate) || '',\n selfOnboarding: data.selfOnboarding,\n email: data.selfOnboarding ? data.email : undefined,\n hourlyRate: data.wageType === WageType.Hourly ? String(data.hourlyRate) : undefined,\n isActive: true,\n }\n\n if (data.contractorType === ContractorType.Individual) {\n return {\n ...basePayload,\n firstName: data.firstName,\n middleInitial: data.middleInitial || undefined,\n lastName: data.lastName,\n ssn: data.ssn,\n fileNewHireReport: false, // Default value\n }\n } else {\n return {\n ...basePayload,\n fileNewHireReport: false, // Default value\n businessName: data.businessName,\n ein: data.ein?.replace(/-/g, ''),\n }\n }\n }\n\n const transformFormDataToUpdatePayload = (\n data: ContractorProfileFormData,\n version: string,\n ): ContractorUpdateRequestBody => {\n const createPayload = transformFormDataToCreatePayload(data)\n return {\n ...createPayload,\n version,\n }\n }\n\n // Event handlers\n const onSubmit: SubmitHandler<ContractorProfileFormData> = async data => {\n await baseSubmitHandler(data, async payload => {\n let contractorId = existingContractor?.uuid\n if (existingContractor) {\n // Update existing contractor\n if (!existingContractor.version) {\n throw new SDKInternalError('Contractor version is required for updates')\n }\n const version = existingContractor.version\n const apiPayload = transformFormDataToUpdatePayload(payload, version)\n\n const updateResponse = await updateContractor({\n request: {\n contractorUuid: contractorId!,\n contractorUpdateRequestBody: apiPayload,\n },\n })\n\n onEvent(componentEvents.CONTRACTOR_UPDATED, updateResponse.contractor)\n } else {\n // Create new contractor\n const apiPayload = transformFormDataToCreatePayload(payload)\n\n const createResponse = await createContractor({\n request: {\n companyUuid: companyId,\n contractorCreateRequestBody: apiPayload,\n },\n })\n\n contractorId = createResponse.contractor?.uuid\n onEvent(componentEvents.CONTRACTOR_CREATED, createResponse.contractor)\n }\n\n onEvent(componentEvents.CONTRACTOR_PROFILE_DONE, {\n selfOnboarding:\n payload.selfOnboarding &&\n existingContractor?.onboardingStatus !==\n ContractorOnboardingStatus.ADMIN_ONBOARDING_REVIEW,\n contractorId,\n })\n })\n }\n\n // Conditional rendering helpers\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-conversion\n const shouldShowEmailField = !!watchedSelfOnboarding\n const shouldShowBusinessFields = watchedType === ContractorType.Business\n const shouldShowIndividualFields = watchedType === ContractorType.Individual\n const shouldShowHourlyRate = watchedWageType === WageType.Hourly\n const shouldShowSsnField = watchedType === ContractorType.Individual && !watchedSelfOnboarding\n const shouldShowEinField = watchedType === ContractorType.Business && !watchedSelfOnboarding\n\n // Form field options\n const contractorTypeOptions = [\n { label: 'Individual', value: ContractorType.Individual },\n { label: 'Business', value: ContractorType.Business },\n ]\n\n const wageTypeOptions = [\n { label: 'Hourly', value: WageType.Hourly },\n { label: 'Fixed', value: WageType.Fixed },\n ]\n\n // Determine if we're currently submitting (creating or updating)\n const isSubmitting = isCreating || isUpdating\n // Return only what the component actually needs\n return {\n // Form methods and submission\n formMethods,\n handleSubmit: handleSubmit(onSubmit),\n formState: {\n ...formState,\n isSubmitting,\n },\n\n // Conditional rendering flags\n shouldShowEmailField,\n shouldShowBusinessFields,\n shouldShowIndividualFields,\n shouldShowHourlyRate,\n shouldShowSsnField,\n shouldShowEinField,\n\n // Form options\n contractorTypeOptions,\n wageTypeOptions,\n\n // Component state\n isEditing: !!contractorId,\n }\n}\n"],"names":["WageType","ApiWageType","ContractorType","ApiContractorType","ContractorProfileSchema","z","NAME_REGEX","createContractorProfileValidationSchema","hasSsn","hasEin","data","ctx","cleanSSN","removeNonDigits","SSN_REGEX","normalizedEin","normalizeEin","useContractorProfile","companyId","contractorId","defaultValues","existingContractor","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","validationSchema","createContractor","isCreating","useContractorsCreateMutation","updateContractor","isUpdating","useContractorsUpdateMutation","formDefaultValues","useMemo","ContractorSelfOnboardingStatuses","parsed","formMethods","useForm","zodResolver","handleSubmit","formState","watchedType","useWatch","watchedWageType","watchedSelfOnboarding","transformFormDataToCreatePayload","basePayload","formatDateToStringDate","transformFormDataToUpdatePayload","version","onSubmit","payload","SDKInternalError","apiPayload","updateResponse","componentEvents","createResponse","ContractorOnboardingStatus","shouldShowEmailField","shouldShowBusinessFields","shouldShowIndividualFields","shouldShowHourlyRate","shouldShowSsnField","shouldShowEinField","contractorTypeOptions","wageTypeOptions","isSubmitting"],"mappings":"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"}
1
+ {"version":3,"file":"useContractorProfile.js","sources":["../../../../src/components/Contractor/Profile/useContractorProfile.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { useForm, useWatch } from 'react-hook-form'\nimport { z } from 'zod'\nimport { useContractorsCreateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsCreate'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsUpdate'\nimport type { ContractorCreateRequestBody } from '@gusto/embedded-api-v-2025-11-15/models/components/contractorcreaterequestbody'\nimport type { ContractorUpdateRequestBody } from '@gusto/embedded-api-v-2025-11-15/models/components/contractorupdaterequestbody'\nimport {\n WageType as ApiWageType,\n ContractorType as ApiContractorType,\n type Contractor,\n} from '@gusto/embedded-api-v-2025-11-15/models/components/contractor'\nimport { useBase } from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n ContractorOnboardingStatus,\n ContractorSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport { SSN_REGEX, NAME_REGEX } from '@/helpers/validations'\nimport { removeNonDigits } from '@/helpers/formattedStrings'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { normalizeEin } from '@/helpers/federalEin'\nimport { SDKInternalError } from '@/types/sdkError'\n\n/** @internal */\nexport const WageType = ApiWageType\n/** @internal */\nexport const ContractorType = ApiContractorType\n\n/** @internal */\nexport const ContractorProfileSchema = z.object({\n // Self-onboarding toggle\n selfOnboarding: z.boolean(),\n email: z.string().email().optional(),\n\n // Required contractor fields\n contractorType: z.enum([ContractorType.Individual, ContractorType.Business]),\n wageType: z.enum([WageType.Hourly, WageType.Fixed]),\n startDate: z.date(),\n\n // Individual contractor fields\n firstName: z.string().min(1).regex(NAME_REGEX).optional(),\n middleInitial: z.string().optional(),\n lastName: z.string().min(1).regex(NAME_REGEX).optional(),\n ssn: z.string().optional(),\n\n // Business contractor fields\n businessName: z.string().optional(),\n ein: z.string().optional(),\n\n // Wage fields\n hourlyRate: z.number().min(0).optional(),\n})\n\n/**\n * Form field values for the contractor profile form.\n *\n * @public\n */\nexport type ContractorProfileFormData = z.infer<typeof ContractorProfileSchema>\n\n/** @internal */\nexport const createContractorProfileValidationSchema = (\n t: (key: string) => string,\n hasSsn: boolean,\n hasEin: boolean,\n) => {\n return ContractorProfileSchema.superRefine(\n (data: ContractorProfileFormData, ctx: z.RefinementCtx) => {\n // Email validation for contractor invitation\n if (data.selfOnboarding && !data.email) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['email'],\n message: t('validations.email'),\n })\n }\n\n // Individual contractor validations\n if (data.contractorType === ContractorType.Individual) {\n if (!data.firstName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['firstName'],\n message: t('validations.firstName'),\n })\n }\n\n if (!data.lastName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['lastName'],\n message: t('validations.lastName'),\n })\n }\n\n if (!data.ssn) {\n if (!hasSsn && !data.selfOnboarding) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ssn'],\n message: t('validations.ssn'),\n })\n }\n } else {\n // Validate SSN format\n const cleanSSN = removeNonDigits(data.ssn)\n if (!SSN_REGEX.test(cleanSSN)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ssn'],\n message: t('validations.ssnFormat'),\n })\n }\n }\n }\n\n // Business contractor validations\n if (data.contractorType === ContractorType.Business) {\n if (!data.businessName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['businessName'],\n message: t('validations.businessName'),\n })\n }\n\n if (!data.ein) {\n if (!hasEin && !data.selfOnboarding) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ein'],\n message: t('validations.ein'),\n })\n }\n } else {\n // Validate EIN format after normalization (XX-XXXXXXX)\n const normalizedEin = normalizeEin(data.ein)\n if (!/^\\d{2}-\\d{7}$/.test(normalizedEin)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ein'],\n message: t('validations.einFormat'),\n })\n }\n }\n }\n\n // Hourly rate validation for hourly contractors\n if (data.wageType === WageType.Hourly) {\n if (data.hourlyRate === undefined || data.hourlyRate < 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['hourlyRate'],\n message: t('validations.hourlyRate'),\n })\n }\n }\n },\n )\n}\n\n/** @internal */\nexport interface UseContractorProfileProps {\n /** UUID of the company the contractor belongs to. */\n companyId: string\n /** UUID of an existing contractor to edit. When omitted, the hook creates a new contractor. */\n contractorId?: string\n /** Initial form values overlaid on top of the existing contractor (when provided). */\n defaultValues?: Partial<ContractorProfileFormData>\n /** Existing contractor entity used to seed the form in edit mode. */\n existingContractor?: Contractor\n}\n\n/** @internal */\nexport function useContractorProfile({\n companyId,\n contractorId,\n defaultValues,\n existingContractor,\n}: UseContractorProfileProps) {\n useI18n('Contractor.Profile')\n const { t } = useTranslation('Contractor.Profile')\n const { onEvent, baseSubmitHandler } = useBase()\n\n // Create validation schema with translations\n const validationSchema = createContractorProfileValidationSchema(\n t as (key: string) => string,\n existingContractor?.hasSsn ?? false,\n existingContractor?.hasEin ?? false,\n )\n\n // API mutations\n const { mutateAsync: createContractor, isPending: isCreating } = useContractorsCreateMutation()\n const { mutateAsync: updateContractor, isPending: isUpdating } = useContractorsUpdateMutation()\n\n // Prepare default values from existing contractor or provided defaults\n const formDefaultValues = useMemo(\n () => ({\n selfOnboarding: false,\n contractorType: ContractorType.Business,\n wageType: WageType.Fixed,\n startDate: new Date(),\n ...defaultValues,\n // Override with existing contractor data if available\n ...(existingContractor && {\n selfOnboarding: existingContractor.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n ContractorSelfOnboardingStatuses.has(existingContractor.onboardingStatus)\n : false,\n contractorType: existingContractor.type || ContractorType.Business,\n wageType: existingContractor.wageType || WageType.Fixed,\n startDate: existingContractor.startDate\n ? new Date(existingContractor.startDate)\n : new Date(),\n firstName: existingContractor.firstName || undefined,\n middleInitial: existingContractor.middleInitial || undefined,\n lastName: existingContractor.lastName || undefined,\n businessName: existingContractor.businessName || undefined,\n email: existingContractor.email || undefined,\n hourlyRate: existingContractor.hourlyRate\n ? (() => {\n const parsed = parseFloat(existingContractor.hourlyRate)\n return isNaN(parsed) ? undefined : parsed\n })()\n : undefined,\n }),\n }),\n [existingContractor, defaultValues],\n )\n\n // Form setup\n const formMethods = useForm<ContractorProfileFormData, unknown, ContractorProfileFormData>({\n resolver: zodResolver(validationSchema),\n defaultValues: formDefaultValues,\n ...(existingContractor && { values: formDefaultValues }),\n resetOptions: { keepDirtyValues: true },\n })\n\n const { handleSubmit, formState } = formMethods\n\n // Watch form values for conditional rendering\n const watchedType = useWatch({ control: formMethods.control, name: 'contractorType' })\n const watchedWageType = useWatch({ control: formMethods.control, name: 'wageType' })\n const watchedSelfOnboarding = useWatch({\n control: formMethods.control,\n name: 'selfOnboarding',\n })\n\n // Helper function to transform form data to API payload\n const transformFormDataToCreatePayload = (\n data: ContractorProfileFormData,\n ): ContractorCreateRequestBody => {\n const basePayload = {\n type: data.contractorType,\n wageType: data.wageType,\n startDate: formatDateToStringDate(data.startDate) || '',\n selfOnboarding: data.selfOnboarding,\n email: data.selfOnboarding ? data.email : undefined,\n hourlyRate: data.wageType === WageType.Hourly ? String(data.hourlyRate) : undefined,\n isActive: true,\n }\n\n if (data.contractorType === ContractorType.Individual) {\n return {\n ...basePayload,\n firstName: data.firstName,\n middleInitial: data.middleInitial || undefined,\n lastName: data.lastName,\n ssn: data.ssn,\n fileNewHireReport: false, // Default value\n }\n } else {\n return {\n ...basePayload,\n fileNewHireReport: false, // Default value\n businessName: data.businessName,\n ein: data.ein?.replace(/-/g, ''),\n }\n }\n }\n\n const transformFormDataToUpdatePayload = (\n data: ContractorProfileFormData,\n version: string,\n ): ContractorUpdateRequestBody => {\n const createPayload = transformFormDataToCreatePayload(data)\n return {\n ...createPayload,\n version,\n }\n }\n\n // Event handlers\n const onSubmit: SubmitHandler<ContractorProfileFormData> = async data => {\n await baseSubmitHandler(data, async payload => {\n let contractorId = existingContractor?.uuid\n if (existingContractor) {\n // Update existing contractor\n if (!existingContractor.version) {\n throw new SDKInternalError('Contractor version is required for updates')\n }\n const version = existingContractor.version\n const apiPayload = transformFormDataToUpdatePayload(payload, version)\n\n const updateResponse = await updateContractor({\n request: {\n contractorUuid: contractorId!,\n contractorUpdateRequestBody: apiPayload,\n },\n })\n\n onEvent(componentEvents.CONTRACTOR_UPDATED, updateResponse.contractor)\n } else {\n // Create new contractor\n const apiPayload = transformFormDataToCreatePayload(payload)\n\n const createResponse = await createContractor({\n request: {\n companyUuid: companyId,\n contractorCreateRequestBody: apiPayload,\n },\n })\n\n contractorId = createResponse.contractor?.uuid\n onEvent(componentEvents.CONTRACTOR_CREATED, createResponse.contractor)\n }\n\n onEvent(componentEvents.CONTRACTOR_PROFILE_DONE, {\n selfOnboarding:\n payload.selfOnboarding &&\n existingContractor?.onboardingStatus !==\n ContractorOnboardingStatus.ADMIN_ONBOARDING_REVIEW,\n contractorId,\n })\n })\n }\n\n // Conditional rendering helpers\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-conversion\n const shouldShowEmailField = !!watchedSelfOnboarding\n const shouldShowBusinessFields = watchedType === ContractorType.Business\n const shouldShowIndividualFields = watchedType === ContractorType.Individual\n const shouldShowHourlyRate = watchedWageType === WageType.Hourly\n const shouldShowSsnField = watchedType === ContractorType.Individual && !watchedSelfOnboarding\n const shouldShowEinField = watchedType === ContractorType.Business && !watchedSelfOnboarding\n\n // Form field options\n const contractorTypeOptions = [\n { label: 'Individual', value: ContractorType.Individual },\n { label: 'Business', value: ContractorType.Business },\n ]\n\n const wageTypeOptions = [\n { label: 'Hourly', value: WageType.Hourly },\n { label: 'Fixed', value: WageType.Fixed },\n ]\n\n // Determine if we're currently submitting (creating or updating)\n const isSubmitting = isCreating || isUpdating\n // Return only what the component actually needs\n return {\n // Form methods and submission\n formMethods,\n handleSubmit: handleSubmit(onSubmit),\n formState: {\n ...formState,\n isSubmitting,\n },\n\n // Conditional rendering flags\n shouldShowEmailField,\n shouldShowBusinessFields,\n shouldShowIndividualFields,\n shouldShowHourlyRate,\n shouldShowSsnField,\n shouldShowEinField,\n\n // Form options\n contractorTypeOptions,\n wageTypeOptions,\n\n // Component state\n isEditing: !!contractorId,\n }\n}\n"],"names":["WageType","ApiWageType","ContractorType","ApiContractorType","ContractorProfileSchema","z","NAME_REGEX","createContractorProfileValidationSchema","hasSsn","hasEin","data","ctx","cleanSSN","removeNonDigits","SSN_REGEX","normalizedEin","normalizeEin","useContractorProfile","companyId","contractorId","defaultValues","existingContractor","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","validationSchema","createContractor","isCreating","useContractorsCreateMutation","updateContractor","isUpdating","useContractorsUpdateMutation","formDefaultValues","useMemo","ContractorSelfOnboardingStatuses","parsed","formMethods","useForm","zodResolver","handleSubmit","formState","watchedType","useWatch","watchedWageType","watchedSelfOnboarding","transformFormDataToCreatePayload","basePayload","formatDateToStringDate","transformFormDataToUpdatePayload","version","onSubmit","payload","SDKInternalError","apiPayload","updateResponse","componentEvents","createResponse","ContractorOnboardingStatus","shouldShowEmailField","shouldShowBusinessFields","shouldShowIndividualFields","shouldShowHourlyRate","shouldShowSsnField","shouldShowEinField","contractorTypeOptions","wageTypeOptions","isSubmitting"],"mappings":"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"}
@@ -1,7 +1,27 @@
1
1
  import { BaseComponentInterface, CommonComponentInterface } from '../../Base';
2
+ /**
3
+ * Props for {@link ContractorSubmit}.
4
+ *
5
+ * @public
6
+ */
2
7
  export interface ContractorSubmitProps extends CommonComponentInterface<'Contractor.Submit'> {
8
+ /** UUID of the contractor being submitted. */
3
9
  contractorId: string;
10
+ /** When true, adjusts the submission for the self-onboarding flow, surfacing the invite step before the contractor's onboarding status is finalized. */
4
11
  selfOnboarding?: boolean;
5
12
  }
13
+ /**
14
+ * Finalizes contractor onboarding by updating the onboarding status, and in the self-onboarding flow can trigger an invitation to the contractor.
15
+ *
16
+ * @remarks
17
+ * | Event | Description | Data |
18
+ * | ----- | ----------- | ---- |
19
+ * | `contractor/onboardingStatus/updated` | The contractor's onboarding status was successfully updated. | The updated `contractorOnboardingStatus` returned by the API. |
20
+ * | `contractor/invite/selfOnboarding` | The invite action was triggered for a self-onboarding contractor. | `{ contractorId: string }` |
21
+ * | `contractor/submit/done` | The submission step finished — fired after a successful status update, after an invite, or when the contractor was already onboarded. | `{ message: string }`, optionally with `onboardingStatus` when the contractor was already completed. |
22
+ *
23
+ * @param props - See {@link ContractorSubmitProps}.
24
+ * @returns The rendered submission step.
25
+ * @public
26
+ */
6
27
  export declare function ContractorSubmit(props: ContractorSubmitProps & BaseComponentInterface): import("react").JSX.Element;
7
- export declare const Root: ({ contractorId, selfOnboarding, dictionary }: ContractorSubmitProps) => import("react").JSX.Element;
@@ -96,7 +96,6 @@ const w = ({ contractorId: n, selfOnboarding: d, dictionary: r }) => {
96
96
  ] });
97
97
  };
98
98
  export {
99
- nt as ContractorSubmit,
100
- w as Root
99
+ nt as ContractorSubmit
101
100
  };
102
101
  //# sourceMappingURL=Submit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Submit.js","sources":["../../../../src/components/Contractor/Submit/Submit.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorsUpdateOnboardingStatusMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsUpdateOnboardingStatus'\nimport { useContractorsGetOnboardingStatusSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsGetOnboardingStatus'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsGet'\nimport { SubmitDone } from './SubmitDone'\nimport { ActionsLayout, Flex, FlexItem } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\nexport interface ContractorSubmitProps extends CommonComponentInterface<'Contractor.Submit'> {\n contractorId: string\n selfOnboarding?: boolean\n}\n\nexport function ContractorSubmit(props: ContractorSubmitProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({ contractorId, selfOnboarding, dictionary }: ContractorSubmitProps) => {\n useI18n('Contractor.Submit')\n useComponentDictionary('Contractor.Submit', dictionary)\n const { Alert, Box, BoxHeader, Button, Text, Heading, UnorderedList } = useComponentContext()\n const { t } = useTranslation('Contractor.Submit')\n const { onEvent, baseSubmitHandler } = useBase()\n const items = Object.values(t('warningItems', { returnObjects: true }))\n\n const { data } = useContractorsGetOnboardingStatusSuspense({\n contractorUuid: contractorId,\n })\n const onboardingStatus = data.contractorOnboardingStatus?.onboardingStatus\n\n const { mutateAsync } = useContractorsUpdateOnboardingStatusMutation()\n\n const onSubmit = async () => {\n await baseSubmitHandler(null, async () => {\n const response = await mutateAsync({\n request: {\n contractorUuid: contractorId,\n contractorOnboardingStatusUpdateRequestBody: {\n onboardingStatus: ContractorOnboardingStatus.ONBOARDING_COMPLETED,\n },\n },\n })\n onEvent(\n componentEvents.CONTRACTOR_ONBOARDING_STATUS_UPDATED,\n response.contractorOnboardingStatus,\n )\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, { message: t('submitDone.successMessage') })\n })\n }\n const handleInviteContractor = () => {\n onEvent(componentEvents.CONTRACTOR_INVITE_CONTRACTOR, { contractorId })\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n message: t('inviteContractor.successMessage'),\n })\n }\n\n const handleSubmitDone = () => {\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n onboardingStatus,\n message: t('submitDone.successMessage'),\n })\n }\n\n if (onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED) {\n return <SubmitDone onDone={handleSubmitDone} />\n }\n if (\n onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_NOT_INVITED &&\n selfOnboarding\n ) {\n return <InviteContractor onSubmit={handleInviteContractor} contractorId={contractorId} />\n }\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <FlexItem>\n <Heading as=\"h2\">{t('heading')}</Heading>\n </FlexItem>\n\n <Box\n header={\n <BoxHeader\n title={t('documentRequirements.title')}\n description={t('documentRequirements.description')}\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {Object.values(t('documentRequirements.items', { returnObjects: true })).map(item => (\n <div key={item.title}>\n <Text weight=\"medium\">{item.title}</Text>\n <Text variant=\"supporting\">{item.description}</Text>\n </div>\n ))}\n <Alert status=\"info\" label={t('documentRequirements.alertLabel')}></Alert>\n </Flex>\n </Box>\n <Flex flexDirection=\"column\" gap={8}>\n <Alert status=\"warning\" label={t('title')}>\n <UnorderedList items={items} />\n </Alert>\n <ActionsLayout justifyContent=\"end\">\n <Button title={t('submitCta')} onClick={onSubmit}>\n {t('submitCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Flex>\n )\n}\n\nconst InviteContractor = ({\n onSubmit,\n contractorId,\n}: {\n onSubmit: () => void\n contractorId: string\n}) => {\n const { t } = useTranslation('Contractor.Submit', { keyPrefix: 'inviteContractor' })\n const { Button, Heading, Text } = useComponentContext()\n\n const { data: contractorData } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractor = contractorData.contractor\n\n return (\n <Flex flexDirection=\"column\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text>{t('description')}</Text>\n <Flex flexDirection=\"column\">\n <div>\n <Text>\n {firstLastName({\n first_name: contractor?.firstName,\n last_name: contractor?.lastName,\n })}\n </Text>\n <Text>{contractor?.email}</Text>\n </div>\n <div>\n <Text>{t('startDateLabel')}</Text>\n <Text>{contractor?.startDate}</Text>\n </div>\n </Flex>\n <Button title={t('inviteCta')} onClick={onSubmit}>\n {t('inviteCta')}\n </Button>\n </Flex>\n )\n}\n"],"names":["ContractorSubmit","props","jsx","BaseComponent","Root","contractorId","selfOnboarding","dictionary","useI18n","useComponentDictionary","Alert","Box","BoxHeader","Button","Text","Heading","UnorderedList","useComponentContext","t","useTranslation","onEvent","baseSubmitHandler","useBase","items","data","useContractorsGetOnboardingStatusSuspense","onboardingStatus","mutateAsync","useContractorsUpdateOnboardingStatusMutation","onSubmit","response","ContractorOnboardingStatus","componentEvents","handleInviteContractor","handleSubmitDone","SubmitDone","InviteContractor","jsxs","Flex","FlexItem","item","ActionsLayout","contractorData","useContractorsGetSuspense","contractor","firstLastName"],"mappings":"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"}
1
+ {"version":3,"file":"Submit.js","sources":["../../../../src/components/Contractor/Submit/Submit.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorsUpdateOnboardingStatusMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsUpdateOnboardingStatus'\nimport { useContractorsGetOnboardingStatusSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsGetOnboardingStatus'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsGet'\nimport { SubmitDone } from './SubmitDone'\nimport { ActionsLayout, Flex, FlexItem } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\n/**\n * Props for {@link ContractorSubmit}.\n *\n * @public\n */\nexport interface ContractorSubmitProps extends CommonComponentInterface<'Contractor.Submit'> {\n /** UUID of the contractor being submitted. */\n contractorId: string\n /** When true, adjusts the submission for the self-onboarding flow, surfacing the invite step before the contractor's onboarding status is finalized. */\n selfOnboarding?: boolean\n}\n\n/**\n * Finalizes contractor onboarding by updating the onboarding status, and in the self-onboarding flow can trigger an invitation to the contractor.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/onboardingStatus/updated` | The contractor's onboarding status was successfully updated. | The updated `contractorOnboardingStatus` returned by the API. |\n * | `contractor/invite/selfOnboarding` | The invite action was triggered for a self-onboarding contractor. | `{ contractorId: string }` |\n * | `contractor/submit/done` | The submission step finished — fired after a successful status update, after an invite, or when the contractor was already onboarded. | `{ message: string }`, optionally with `onboardingStatus` when the contractor was already completed. |\n *\n * @param props - See {@link ContractorSubmitProps}.\n * @returns The rendered submission step.\n * @public\n */\nexport function ContractorSubmit(props: ContractorSubmitProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ contractorId, selfOnboarding, dictionary }: ContractorSubmitProps) => {\n useI18n('Contractor.Submit')\n useComponentDictionary('Contractor.Submit', dictionary)\n const { Alert, Box, BoxHeader, Button, Text, Heading, UnorderedList } = useComponentContext()\n const { t } = useTranslation('Contractor.Submit')\n const { onEvent, baseSubmitHandler } = useBase()\n const items = Object.values(t('warningItems', { returnObjects: true }))\n\n const { data } = useContractorsGetOnboardingStatusSuspense({\n contractorUuid: contractorId,\n })\n const onboardingStatus = data.contractorOnboardingStatus?.onboardingStatus\n\n const { mutateAsync } = useContractorsUpdateOnboardingStatusMutation()\n\n const onSubmit = async () => {\n await baseSubmitHandler(null, async () => {\n const response = await mutateAsync({\n request: {\n contractorUuid: contractorId,\n contractorOnboardingStatusUpdateRequestBody: {\n onboardingStatus: ContractorOnboardingStatus.ONBOARDING_COMPLETED,\n },\n },\n })\n onEvent(\n componentEvents.CONTRACTOR_ONBOARDING_STATUS_UPDATED,\n response.contractorOnboardingStatus,\n )\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, { message: t('submitDone.successMessage') })\n })\n }\n const handleInviteContractor = () => {\n onEvent(componentEvents.CONTRACTOR_INVITE_CONTRACTOR, { contractorId })\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n message: t('inviteContractor.successMessage'),\n })\n }\n\n const handleSubmitDone = () => {\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n onboardingStatus,\n message: t('submitDone.successMessage'),\n })\n }\n\n if (onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED) {\n return <SubmitDone onDone={handleSubmitDone} />\n }\n if (\n onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_NOT_INVITED &&\n selfOnboarding\n ) {\n return <InviteContractor onSubmit={handleInviteContractor} contractorId={contractorId} />\n }\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <FlexItem>\n <Heading as=\"h2\">{t('heading')}</Heading>\n </FlexItem>\n\n <Box\n header={\n <BoxHeader\n title={t('documentRequirements.title')}\n description={t('documentRequirements.description')}\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {Object.values(t('documentRequirements.items', { returnObjects: true })).map(item => (\n <div key={item.title}>\n <Text weight=\"medium\">{item.title}</Text>\n <Text variant=\"supporting\">{item.description}</Text>\n </div>\n ))}\n <Alert status=\"info\" label={t('documentRequirements.alertLabel')}></Alert>\n </Flex>\n </Box>\n <Flex flexDirection=\"column\" gap={8}>\n <Alert status=\"warning\" label={t('title')}>\n <UnorderedList items={items} />\n </Alert>\n <ActionsLayout justifyContent=\"end\">\n <Button title={t('submitCta')} onClick={onSubmit}>\n {t('submitCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Flex>\n )\n}\n\nconst InviteContractor = ({\n onSubmit,\n contractorId,\n}: {\n onSubmit: () => void\n contractorId: string\n}) => {\n const { t } = useTranslation('Contractor.Submit', { keyPrefix: 'inviteContractor' })\n const { Button, Heading, Text } = useComponentContext()\n\n const { data: contractorData } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractor = contractorData.contractor\n\n return (\n <Flex flexDirection=\"column\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text>{t('description')}</Text>\n <Flex flexDirection=\"column\">\n <div>\n <Text>\n {firstLastName({\n first_name: contractor?.firstName,\n last_name: contractor?.lastName,\n })}\n </Text>\n <Text>{contractor?.email}</Text>\n </div>\n <div>\n <Text>{t('startDateLabel')}</Text>\n <Text>{contractor?.startDate}</Text>\n </div>\n </Flex>\n <Button title={t('inviteCta')} onClick={onSubmit}>\n {t('inviteCta')}\n </Button>\n </Flex>\n )\n}\n"],"names":["ContractorSubmit","props","jsx","BaseComponent","Root","contractorId","selfOnboarding","dictionary","useI18n","useComponentDictionary","Alert","Box","BoxHeader","Button","Text","Heading","UnorderedList","useComponentContext","t","useTranslation","onEvent","baseSubmitHandler","useBase","items","data","useContractorsGetOnboardingStatusSuspense","onboardingStatus","mutateAsync","useContractorsUpdateOnboardingStatusMutation","onSubmit","response","ContractorOnboardingStatus","componentEvents","handleInviteContractor","handleSubmitDone","SubmitDone","InviteContractor","jsxs","Flex","FlexItem","item","ActionsLayout","contractorData","useContractorsGetSuspense","contractor","firstLastName"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  interface SubmitDoneProps {
2
2
  onDone: () => void;
3
3
  }
4
+ /** @internal */
4
5
  export declare const SubmitDone: ({ onDone }: SubmitDoneProps) => import("react").JSX.Element;
5
6
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitDone.js","sources":["../../../../src/components/Contractor/Submit/SubmitDone.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { Flex } from '@/components/Common/Flex'\n\ninterface SubmitDoneProps {\n onDone: () => void\n}\n\nexport const SubmitDone = ({ onDone }: SubmitDoneProps) => {\n useI18n('Contractor.Submit')\n const { Button, Heading, Text } = useComponentContext()\n const { t } = useTranslation('Contractor.Submit')\n\n return (\n <Flex flexDirection=\"column\" gap={20} alignItems=\"center\">\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Heading as=\"h2\">{t('doneTitle')}</Heading>\n <Text variant=\"supporting\">{t('doneDescription')}</Text>\n </Flex>\n <Button variant=\"secondary\" onClick={onDone}>\n {t('doneCta')}\n </Button>\n </Flex>\n )\n}\n"],"names":["SubmitDone","onDone","useI18n","Button","Heading","Text","useComponentContext","t","useTranslation","Flex","jsxs","jsx"],"mappings":";;;;;AASO,MAAMA,IAAa,CAAC,EAAE,QAAAC,QAA8B;AACzD,EAAAC,EAAQ,mBAAmB;AAC3B,QAAM,EAAE,QAAAC,GAAQ,SAAAC,GAAS,MAAAC,EAAA,IAASC,EAAA,GAC5B,EAAE,GAAAC,EAAA,IAAMC,EAAe,mBAAmB;AAEhD,2BACGC,GAAA,EAAK,eAAc,UAAS,KAAK,IAAI,YAAW,UAC/C,UAAA;AAAA,IAAA,gBAAAC,EAACD,KAAK,eAAc,UAAS,KAAK,GAAG,YAAW,UAC9C,UAAA;AAAA,MAAA,gBAAAE,EAACP,GAAA,EAAQ,IAAG,MAAM,UAAAG,EAAE,WAAW,GAAE;AAAA,wBAChCF,GAAA,EAAK,SAAQ,cAAc,UAAAE,EAAE,iBAAiB,EAAA,CAAE;AAAA,IAAA,GACnD;AAAA,IACA,gBAAAI,EAACR,KAAO,SAAQ,aAAY,SAASF,GAClC,UAAAM,EAAE,SAAS,EAAA,CACd;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"SubmitDone.js","sources":["../../../../src/components/Contractor/Submit/SubmitDone.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { Flex } from '@/components/Common/Flex'\n\ninterface SubmitDoneProps {\n onDone: () => void\n}\n\n/** @internal */\nexport const SubmitDone = ({ onDone }: SubmitDoneProps) => {\n useI18n('Contractor.Submit')\n const { Button, Heading, Text } = useComponentContext()\n const { t } = useTranslation('Contractor.Submit')\n\n return (\n <Flex flexDirection=\"column\" gap={20} alignItems=\"center\">\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Heading as=\"h2\">{t('doneTitle')}</Heading>\n <Text variant=\"supporting\">{t('doneDescription')}</Text>\n </Flex>\n <Button variant=\"secondary\" onClick={onDone}>\n {t('doneCta')}\n </Button>\n </Flex>\n )\n}\n"],"names":["SubmitDone","onDone","useI18n","Button","Heading","Text","useComponentContext","t","useTranslation","Flex","jsxs","jsx"],"mappings":";;;;;AAUO,MAAMA,IAAa,CAAC,EAAE,QAAAC,QAA8B;AACzD,EAAAC,EAAQ,mBAAmB;AAC3B,QAAM,EAAE,QAAAC,GAAQ,SAAAC,GAAS,MAAAC,EAAA,IAASC,EAAA,GAC5B,EAAE,GAAAC,EAAA,IAAMC,EAAe,mBAAmB;AAEhD,2BACGC,GAAA,EAAK,eAAc,UAAS,KAAK,IAAI,YAAW,UAC/C,UAAA;AAAA,IAAA,gBAAAC,EAACD,KAAK,eAAc,UAAS,KAAK,GAAG,YAAW,UAC9C,UAAA;AAAA,MAAA,gBAAAE,EAACP,GAAA,EAAQ,IAAG,MAAM,UAAAG,EAAE,WAAW,GAAE;AAAA,wBAChCF,GAAA,EAAK,SAAQ,cAAc,UAAAE,EAAE,iBAAiB,EAAA,CAAE;AAAA,IAAA,GACnD;AAAA,IACA,gBAAAI,EAACR,KAAO,SAAQ,aAAY,SAASF,GAClC,UAAAM,EAAE,SAAS,EAAA,CACd;AAAA,EAAA,GACF;AAEJ;"}
@@ -1,6 +1,6 @@
1
- export { PaymentFlow } from '../Payments/PaymentFlow';
2
- export { PaymentsList } from '../Payments/PaymentsList/PaymentsList';
3
- export { CreatePayment } from '../Payments/CreatePayment/CreatePayment';
4
- export { PaymentHistory } from '../Payments/PaymentHistory/PaymentHistory';
5
- export { PaymentSummary } from '../Payments/PaymentSummary';
6
- export { PaymentStatement } from '../Payments/PaymentStatement/PaymentStatement';
1
+ export { PaymentFlow, type PaymentFlowProps } from '../Payments/PaymentFlow';
2
+ export { PaymentsList, type PaymentsListProps } from '../Payments/PaymentsList/PaymentsList';
3
+ export { CreatePayment, type CreatePaymentProps } from '../Payments/CreatePayment/CreatePayment';
4
+ export { PaymentHistory, type PaymentHistoryProps } from '../Payments/PaymentHistory/PaymentHistory';
5
+ export { PaymentSummary, type PaymentSummaryProps } from '../Payments/PaymentSummary';
6
+ export { PaymentStatement, type PaymentStatementProps, } from '../Payments/PaymentStatement/PaymentStatement';
@@ -1,7 +1,12 @@
1
1
  export { OnboardingFlow } from '../OnboardingFlow/OnboardingFlow';
2
- export { ContractorList } from '../ContractorList';
3
- export { ContractorProfile } from '../Profile';
4
- export { Address } from '../Address';
2
+ export type { OnboardingFlowProps, OnboardingFlowDefaultValues, } from '../OnboardingFlow/OnboardingFlowComponents';
3
+ export { ContractorList, type ContractorListProps } from '../ContractorList';
4
+ export { ContractorProfile, type ContractorProfileProps } from '../Profile';
5
+ export type { ContractorProfileFormData } from '../Profile/useContractorProfile';
6
+ export { Address, type AddressProps } from '../Address';
7
+ export type { AddressDefaultValues } from '../Address/useAddress';
5
8
  export { PaymentMethod } from '../PaymentMethod/PaymentMethod';
9
+ export type { PaymentMethodProps } from '../PaymentMethod/types';
6
10
  export { NewHireReport } from '../NewHireReport/NewHireReport';
7
- export { ContractorSubmit } from '../Submit/Submit';
11
+ export type { NewHireReportProps } from '../NewHireReport/types';
12
+ export { ContractorSubmit, type ContractorSubmitProps } from '../Submit/Submit';
@@ -50,48 +50,6 @@ export declare const CompensationErrorCodes: {
50
50
  * @public
51
51
  */
52
52
  export type CompensationErrorCode = (typeof CompensationErrorCodes)[keyof typeof CompensationErrorCodes];
53
- declare const fieldValidators: {
54
- /**
55
- * Optional in both modes. Setting title here scopes the change to this
56
- * compensation's `effectiveDate` — pair it with a future-dated comp to
57
- * schedule a promotion title alongside a rate change. Use
58
- * `useJobForm.Fields.Title` instead when creating a job (title is required
59
- * by the API on job creation) or when renaming the active role
60
- * immediately, and avoid rendering both fields on the same screen.
61
- */
62
- title: z.ZodString;
63
- flsaStatus: z.ZodOptional<z.ZodEnum<{
64
- Exempt: "Exempt";
65
- "Salaried Nonexempt": "Salaried Nonexempt";
66
- Nonexempt: "Nonexempt";
67
- Owner: "Owner";
68
- "Commission Only Exempt": "Commission Only Exempt";
69
- "Commission Only Nonexempt": "Commission Only Nonexempt";
70
- }>>;
71
- paymentUnit: z.ZodEnum<{
72
- Hour: "Hour";
73
- Week: "Week";
74
- Month: "Month";
75
- Year: "Year";
76
- Paycheck: "Paycheck";
77
- }>;
78
- rate: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>;
79
- /**
80
- * The effective date a new compensation should take effect on.
81
- *
82
- * - **create mode (`compensationId` absent)**: required; partners typically default
83
- * to the parent job's `hireDate` (onboarding stub-fill) or a future date
84
- * (rate change). Must be on or after `hireDate`. Server-side this maps to
85
- * POST /v1/jobs/:jobId/compensations.
86
- * - **update mode (`compensationId` present)**: optional; if omitted the API
87
- * keeps the existing effective date. The `hireDate` lower bound is **not**
88
- * enforced — loaded values may legitimately predate the hire date. Maps to
89
- * PUT /v1/compensations/:id.
90
- */
91
- effectiveDate: z.ZodPipe<z.ZodTransform<string | null, unknown>, z.ZodNullable<z.ZodISODate>>;
92
- adjustForMinimumWage: z.ZodBoolean;
93
- minimumWageId: z.ZodString;
94
- };
95
53
  /**
96
54
  * Shape of the form values managed by {@link useCompensationForm}.
97
55
  *
@@ -105,24 +63,34 @@ declare const fieldValidators: {
105
63
  * @public
106
64
  */
107
65
  export type CompensationFormData = {
108
- [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
109
- };
110
- declare const requiredFieldsConfig: {
111
- title: "never";
112
- flsaStatus: "create";
113
- paymentUnit: "create";
114
- rate: "create";
115
- effectiveDate: "create";
116
- minimumWageId: (data: {
117
- title: string;
118
- flsaStatus: "Exempt" | "Salaried Nonexempt" | "Nonexempt" | "Owner" | "Commission Only Exempt" | "Commission Only Nonexempt" | undefined;
119
- paymentUnit: "Hour" | "Week" | "Month" | "Year" | "Paycheck";
120
- rate: number;
121
- effectiveDate: string | null;
122
- adjustForMinimumWage: boolean;
123
- minimumWageId: string;
124
- }) => boolean;
125
- };
66
+ /**
67
+ * Optional in both modes. Setting title here scopes the change to this
68
+ * compensation's `effectiveDate` — pair it with a future-dated comp to
69
+ * schedule a promotion title alongside a rate change. Use
70
+ * `useJobForm.Fields.Title` instead when creating a job (title is required
71
+ * by the API on job creation) or when renaming the active role
72
+ * immediately, and avoid rendering both fields on the same screen.
73
+ */
74
+ title: string
75
+ flsaStatus: "Exempt" | "Salaried Nonexempt" | "Nonexempt" | "Owner" | "Commission Only Exempt" | "Commission Only Nonexempt" | undefined
76
+ paymentUnit: "Hour" | "Week" | "Month" | "Year" | "Paycheck"
77
+ rate: number
78
+ /**
79
+ * The effective date a new compensation should take effect on.
80
+ *
81
+ * - **create mode (`compensationId` absent)**: required; partners typically default
82
+ * to the parent job's `hireDate` (onboarding stub-fill) or a future date
83
+ * (rate change). Must be on or after `hireDate`. Server-side this maps to
84
+ * POST /v1/jobs/:jobId/compensations.
85
+ * - **update mode (`compensationId` present)**: optional; if omitted the API
86
+ * keeps the existing effective date. The `hireDate` lower bound is **not**
87
+ * enforced — loaded values may legitimately predate the hire date. Maps to
88
+ * PUT /v1/compensations/:id.
89
+ */
90
+ effectiveDate: string | null
91
+ adjustForMinimumWage: boolean
92
+ minimumWageId: string
93
+ };
126
94
  /**
127
95
  * Override which fields are required on a given submission mode of {@link useCompensationForm}.
128
96
  *
@@ -156,7 +124,7 @@ declare const requiredFieldsConfig: {
156
124
  * })
157
125
  * ```
158
126
  */
159
- export type CompensationOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
127
+ export type CompensationOptionalFieldsToRequire = { create?: "title"[] | undefined; update?: ("title" | "flsaStatus" | "paymentUnit" | "rate" | "effectiveDate")[] | undefined; };
160
128
  /**
161
129
  * Validated submission shape produced by the {@link useCompensationForm} schema.
162
130
  *