@gusto/embedded-react-sdk 0.51.0 → 0.51.2

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 (530) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/components/Base/useBaseSubmit.js +4 -4
  3. package/dist/components/Base/useBaseSubmit.js.map +1 -1
  4. package/dist/components/Common/DocumentList/DocumentList.d.ts +8 -1
  5. package/dist/components/Common/DocumentList/DocumentList.js +24 -21
  6. package/dist/components/Common/DocumentList/DocumentList.js.map +1 -1
  7. package/dist/components/Common/OnboardingStatusBadge/index.d.ts +2 -2
  8. package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
  9. package/dist/components/Common/TaxInputs/TaxInputs.d.ts +2 -2
  10. package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
  11. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +5 -5
  12. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  13. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.d.ts +1 -1
  14. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +9 -8
  15. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  16. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +3 -3
  17. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  18. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.d.ts +1 -1
  19. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +9 -8
  20. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  21. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +11 -10
  22. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  23. package/dist/components/Company/BankAccount/BankAccount.js +1 -1
  24. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  25. package/dist/components/Company/BankAccount/BankAccountComponents.d.ts +1 -1
  26. package/dist/components/Company/BankAccount/BankAccountComponents.js.map +1 -1
  27. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +1 -1
  28. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
  29. package/dist/components/Company/BankAccount/BankAccountForm/context.js +9 -8
  30. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  31. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +1 -1
  32. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
  33. package/dist/components/Company/BankAccount/BankAccountList/context.d.ts +1 -1
  34. package/dist/components/Company/BankAccount/BankAccountList/context.js.map +1 -1
  35. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +1 -1
  36. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
  37. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -2
  38. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  39. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.d.ts +2 -2
  40. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +9 -8
  41. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  42. package/dist/components/Company/DocumentSigner/DocumentSigner.js +1 -1
  43. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  44. package/dist/components/Company/DocumentSigner/documentSignerStateMachine.d.ts +2 -2
  45. package/dist/components/Company/DocumentSigner/documentSignerStateMachine.js.map +1 -1
  46. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.d.ts +1 -1
  47. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js +3 -3
  48. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js.map +1 -1
  49. package/dist/components/Company/FederalTaxes/FederalTaxes.js +2 -2
  50. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  51. package/dist/components/Company/FederalTaxes/Form.js +1 -1
  52. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  53. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +1 -1
  54. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +12 -11
  55. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  56. package/dist/components/Company/Industry/Context.js +12 -11
  57. package/dist/components/Company/Industry/Context.js.map +1 -1
  58. package/dist/components/Company/Industry/Industry.js +2 -2
  59. package/dist/components/Company/Industry/Industry.js.map +1 -1
  60. package/dist/components/Company/Locations/LocationForm/Actions.js +7 -7
  61. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  62. package/dist/components/Company/Locations/LocationForm/LocationForm.js +46 -45
  63. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  64. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +9 -8
  65. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  66. package/dist/components/Company/Locations/LocationsList/LocationsList.js +1 -1
  67. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  68. package/dist/components/Company/Locations/LocationsList/useLocationsList.d.ts +1 -1
  69. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +9 -8
  70. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  71. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +1 -1
  72. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  73. package/dist/components/Company/OnboardingOverview/context.d.ts +1 -1
  74. package/dist/components/Company/OnboardingOverview/context.js +9 -8
  75. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  76. package/dist/components/Company/PaySchedule/PaySchedule.js +1 -1
  77. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  78. package/dist/components/Company/PaySchedule/PayScheduleList.js +1 -1
  79. package/dist/components/Company/PaySchedule/PayScheduleList.js.map +1 -1
  80. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +2 -2
  81. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +6 -6
  82. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  83. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +3 -3
  84. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  85. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +2 -2
  86. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  87. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.d.ts +1 -1
  88. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +1 -1
  89. package/dist/components/Company/StateTaxes/StateTaxesForm/context.d.ts +1 -1
  90. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +9 -8
  91. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  92. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +1 -1
  93. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  94. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +1 -1
  95. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  96. package/dist/components/Company/StateTaxes/StateTaxesList/context.d.ts +1 -1
  97. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +9 -8
  98. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  99. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +2 -2
  100. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +3 -3
  101. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -1
  102. package/dist/components/Contractor/ContractorList/index.js +1 -1
  103. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  104. package/dist/components/Contractor/ContractorList/useContractorList.d.ts +1 -1
  105. package/dist/components/Contractor/ContractorList/useContractorList.js +1 -1
  106. package/dist/components/Contractor/ContractorList/useContractorList.js.map +1 -1
  107. package/dist/components/Contractor/Documents/DocumentSigner/documentSignerStateMachine.d.ts +1 -1
  108. package/dist/components/Contractor/Documents/DocumentSigner/documentSignerStateMachine.js.map +1 -1
  109. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.d.ts +3 -1
  110. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +64 -51
  111. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -1
  112. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.d.ts +1 -1
  113. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js +1 -1
  114. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -1
  115. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +201 -161
  116. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +1 -1
  117. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.d.ts +2 -2
  118. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js +3 -3
  119. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js.map +1 -1
  120. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.d.ts +1 -1
  121. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js +55 -54
  122. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js.map +1 -1
  123. package/dist/components/Contractor/Landing/Landing.js +2 -2
  124. package/dist/components/Contractor/Landing/Landing.js.map +1 -1
  125. package/dist/components/Contractor/NewHireReport/NewHireReport.js +2 -2
  126. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  127. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.d.ts +1 -1
  128. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js +2 -2
  129. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js.map +1 -1
  130. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +1 -1
  131. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js +2 -2
  132. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js.map +1 -1
  133. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +5 -5
  134. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  135. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +2 -2
  136. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  137. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.d.ts +2 -2
  138. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
  139. package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.d.ts +1 -1
  140. package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.js.map +1 -1
  141. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +4 -4
  142. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  143. package/dist/components/Contractor/Payments/CreatePayment/helpers.d.ts +1 -1
  144. package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +1 -1
  145. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  146. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +3 -3
  147. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  148. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +2 -2
  149. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  150. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +4 -4
  151. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
  152. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +3 -3
  153. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  154. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +3 -3
  155. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  156. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.d.ts +3 -3
  157. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  158. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +3 -3
  159. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  160. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +1 -1
  161. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  162. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +1 -1
  163. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +1 -1
  164. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +1 -1
  165. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
  166. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +1 -1
  167. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +3 -3
  168. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
  169. package/dist/components/Contractor/Submit/Submit.js +3 -3
  170. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  171. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js +1 -1
  172. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  173. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +1 -1
  174. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
  175. package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js +1 -1
  176. package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js.map +1 -1
  177. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
  178. package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +2 -2
  179. package/dist/components/Employee/Compensation/onboarding/Compensation.js +1 -1
  180. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  181. package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.d.ts +2 -2
  182. package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.js.map +1 -1
  183. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js +2 -2
  184. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
  185. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.d.ts +1 -1
  186. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
  187. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
  188. package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.d.ts +1 -1
  189. package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.js.map +1 -1
  190. package/dist/components/Employee/Compensation/shared/getPendingCompensationChanges.d.ts +2 -2
  191. package/dist/components/Employee/Compensation/shared/getPendingCompensationChanges.js.map +1 -1
  192. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +3 -3
  193. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
  194. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.d.ts +4 -4
  195. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +7 -7
  196. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  197. package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.d.ts +1 -1
  198. package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js +4 -4
  199. package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js.map +1 -1
  200. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +3 -3
  201. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +7 -7
  202. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
  203. package/dist/components/Employee/Dashboard/Dashboard.js +1 -1
  204. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  205. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  206. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
  207. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
  208. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.d.ts +1 -1
  209. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js.map +1 -1
  210. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.d.ts +1 -1
  211. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js.map +1 -1
  212. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.d.ts +1 -1
  213. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
  214. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.d.ts +1 -1
  215. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
  216. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.d.ts +1 -1
  217. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js.map +1 -1
  218. package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.d.ts +1 -1
  219. package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.js.map +1 -1
  220. package/dist/components/Employee/Deductions/shared/formatDeductionAmount.d.ts +1 -1
  221. package/dist/components/Employee/Deductions/shared/formatDeductionAmount.js.map +1 -1
  222. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -1
  223. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js +1 -1
  224. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
  225. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.d.ts +1 -1
  226. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js.map +1 -1
  227. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.d.ts +2 -2
  228. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js +5 -5
  229. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
  230. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js +1 -1
  231. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js.map +1 -1
  232. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.d.ts +1 -1
  233. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js.map +1 -1
  234. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +1 -1
  235. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js +3 -3
  236. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
  237. package/dist/components/Employee/Deductions/shared/useDeductionsList.d.ts +1 -1
  238. package/dist/components/Employee/Deductions/shared/useDeductionsList.js +2 -2
  239. package/dist/components/Employee/Deductions/shared/useDeductionsList.js.map +1 -1
  240. package/dist/components/Employee/Deductions/shared/useDeleteDeduction.d.ts +1 -1
  241. package/dist/components/Employee/Deductions/shared/useDeleteDeduction.js.map +1 -1
  242. package/dist/components/Employee/Documents/management/DocumentManager.js +2 -2
  243. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  244. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
  245. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js +1 -1
  246. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  247. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.d.ts +1 -1
  248. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +9 -8
  249. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  250. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +2 -2
  251. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
  252. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +3 -3
  253. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  254. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +1 -1
  255. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
  256. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js +1 -1
  257. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -1
  258. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +1 -1
  259. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  260. package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.d.ts +1 -1
  261. package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.js.map +1 -1
  262. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +2 -2
  263. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  264. package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.d.ts +1 -1
  265. package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.js +1 -1
  266. package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.js.map +1 -1
  267. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +1 -1
  268. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js +3 -3
  269. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
  270. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
  271. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +1 -1
  272. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  273. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +3 -3
  274. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +3 -3
  275. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  276. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js +1 -1
  277. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js.map +1 -1
  278. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts +1 -1
  279. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js +2 -2
  280. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js.map +1 -1
  281. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.d.ts +1 -1
  282. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.js +1 -1
  283. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.js.map +1 -1
  284. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
  285. package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +1 -1
  286. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  287. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.d.ts +1 -1
  288. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js.map +1 -1
  289. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.d.ts +1 -1
  290. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +3 -3
  291. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
  292. package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.d.ts +1 -1
  293. package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.js +1 -1
  294. package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.js.map +1 -1
  295. package/dist/components/Employee/Landing/Landing.js +2 -2
  296. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  297. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +1 -1
  298. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
  299. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +2 -2
  300. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  301. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.d.ts +1 -1
  302. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
  303. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.d.ts +1 -1
  304. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js.map +1 -1
  305. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.d.ts +1 -1
  306. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js +1 -1
  307. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js.map +1 -1
  308. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.d.ts +1 -1
  309. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js +2 -2
  310. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js.map +1 -1
  311. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.d.ts +2 -2
  312. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.js +4 -4
  313. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.js.map +1 -1
  314. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.d.ts +2 -2
  315. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js +3 -3
  316. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js.map +1 -1
  317. package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.d.ts +1 -1
  318. package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.js +3 -3
  319. package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.js.map +1 -1
  320. package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
  321. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
  322. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js.map +1 -1
  323. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +1 -1
  324. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +5 -5
  325. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
  326. package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.d.ts +1 -1
  327. package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js +1 -1
  328. package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js.map +1 -1
  329. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js +1 -1
  330. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js.map +1 -1
  331. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +1 -1
  332. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +4 -4
  333. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
  334. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.d.ts +1 -1
  335. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js.map +1 -1
  336. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js +1 -1
  337. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js.map +1 -1
  338. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +2 -2
  339. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +5 -5
  340. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  341. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +1 -1
  342. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
  343. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
  344. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/__fixtures__/stateTaxesFixtures.d.ts +1 -1
  345. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/__fixtures__/toWireFormat.d.ts +1 -1
  346. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.d.ts +1 -1
  347. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.js.map +1 -1
  348. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.d.ts +1 -1
  349. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.js.map +1 -1
  350. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +1 -1
  351. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
  352. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.d.ts +1 -1
  353. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js +2 -2
  354. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
  355. package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.d.ts +1 -1
  356. package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.js +1 -1
  357. package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.js.map +1 -1
  358. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +9 -9
  359. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  360. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +1 -1
  361. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  362. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +4 -4
  363. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
  364. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
  365. package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +1 -1
  366. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  367. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.d.ts +2 -2
  368. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js.map +1 -1
  369. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.d.ts +1 -1
  370. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +3 -3
  371. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
  372. package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.d.ts +1 -1
  373. package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js +1 -1
  374. package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
  375. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +4 -4
  376. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  377. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +2 -2
  378. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  379. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +1 -1
  380. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  381. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +2 -2
  382. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  383. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +3 -3
  384. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  385. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +2 -2
  386. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  387. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +1 -1
  388. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
  389. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +4 -4
  390. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  391. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +8 -7
  392. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  393. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +1 -1
  394. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  395. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +4 -4
  396. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  397. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +1 -1
  398. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  399. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +1 -1
  400. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js +1 -1
  401. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js.map +1 -1
  402. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +4 -4
  403. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
  404. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js +2 -2
  405. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js.map +1 -1
  406. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +7 -7
  407. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  408. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +5 -5
  409. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  410. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +4 -4
  411. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +5 -5
  412. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  413. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +3 -3
  414. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  415. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +4 -4
  416. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +1 -1
  417. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  418. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +2 -2
  419. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  420. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +1 -1
  421. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  422. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  423. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +1 -1
  424. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  425. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +1 -1
  426. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  427. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +2 -2
  428. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
  429. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  430. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +4 -4
  431. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  432. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +2 -2
  433. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  434. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +2 -2
  435. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  436. package/dist/components/Payroll/PayrollList/PayrollList.js +8 -8
  437. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  438. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +3 -3
  439. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +1 -1
  440. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  441. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +7 -7
  442. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  443. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +4 -4
  444. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  445. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.d.ts +2 -2
  446. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
  447. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.d.ts +1 -1
  448. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.js.map +1 -1
  449. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +1 -1
  450. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
  451. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +1 -1
  452. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  453. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.d.ts +1 -1
  454. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js +2 -2
  455. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
  456. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +1 -1
  457. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  458. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +2 -2
  459. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  460. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +1 -1
  461. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  462. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +4 -4
  463. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  464. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +3 -3
  465. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
  466. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +1 -1
  467. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
  468. package/dist/components/Payroll/helpers.d.ts +6 -6
  469. package/dist/components/Payroll/helpers.js +1 -1
  470. package/dist/components/Payroll/helpers.js.map +1 -1
  471. package/dist/components/Payroll/payrollTypes.js +1 -1
  472. package/dist/components/Payroll/payrollTypes.js.map +1 -1
  473. package/dist/components/Payroll/usePreparedPayrollData.d.ts +2 -2
  474. package/dist/components/Payroll/usePreparedPayrollData.js +16 -15
  475. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  476. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.d.ts +1 -1
  477. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +3 -3
  478. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
  479. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +3 -3
  480. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
  481. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +3 -3
  482. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
  483. package/dist/components/TimeOff/PolicyList/PolicyList.js +6 -6
  484. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  485. package/dist/components/TimeOff/PolicySettings/PolicySettings.js +30 -29
  486. package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
  487. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +1 -1
  488. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
  489. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +1 -1
  490. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js.map +1 -1
  491. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +27 -26
  492. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  493. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +2 -2
  494. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  495. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +1 -1
  496. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +69 -68
  497. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  498. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +3 -3
  499. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  500. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +67 -66
  501. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  502. package/dist/contexts/ApiProvider/ApiProvider.js +3 -3
  503. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  504. package/dist/contexts/ApiProvider/apiVersion.d.ts +23 -0
  505. package/dist/contexts/ApiProvider/apiVersion.js +6 -0
  506. package/dist/contexts/ApiProvider/apiVersion.js.map +1 -0
  507. package/dist/contexts/ApiProvider/apiVersionHook.js +3 -2
  508. package/dist/contexts/ApiProvider/apiVersionHook.js.map +1 -1
  509. package/dist/contexts/ApiProvider/createSdkQueryClient.d.ts +1 -1
  510. package/dist/contexts/ApiProvider/createSdkQueryClient.js +7 -6
  511. package/dist/contexts/ApiProvider/createSdkQueryClient.js.map +1 -1
  512. package/dist/helpers/apiErrorToList.d.ts +1 -1
  513. package/dist/helpers/apiErrorToList.js.map +1 -1
  514. package/dist/helpers/formattedStrings.d.ts +2 -2
  515. package/dist/helpers/formattedStrings.js.map +1 -1
  516. package/dist/hooks/useCompanyPaymentSpeed.d.ts +1 -1
  517. package/dist/hooks/useCompanyPaymentSpeed.js +1 -1
  518. package/dist/hooks/useCompanyPaymentSpeed.js.map +1 -1
  519. package/dist/i18n/en/Contractor.DocumentsList.json.js +20 -16
  520. package/dist/i18n/en/Contractor.DocumentsList.json.js.map +1 -1
  521. package/dist/i18n/types.d.ts +4 -0
  522. package/dist/models/external.d.ts +204 -204
  523. package/dist/shared/constants.d.ts +1 -1
  524. package/dist/shared/constants.js +2 -2
  525. package/dist/shared/constants.js.map +1 -1
  526. package/dist/types/hooks.d.ts +1 -1
  527. package/dist/types/sdkError.js +3 -3
  528. package/dist/types/sdkError.js.map +1 -1
  529. package/docs/guides/endpoint-inventory.json +1201 -297
  530. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"useContractorSignatureForm.js","sources":["../../../../../../src/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Document } from '@gusto/embedded-api-v-2026-02-01/models/components/document'\nimport type { DocumentSigned } from '@gusto/embedded-api-v-2026-02-01/models/components/documentsigned'\nimport { useContractorDocumentsGet } from '@gusto/embedded-api-v-2026-02-01/react-query/contractorDocumentsGet'\nimport { useContractorDocumentsGetPdf } from '@gusto/embedded-api-v-2026-02-01/react-query/contractorDocumentsGetPdf'\nimport { useContractorDocumentsSignMutation } from '@gusto/embedded-api-v-2026-02-01/react-query/contractorDocumentsSign'\nimport {\n buildW9Defaults,\n getPresentFieldNames,\n getRedactionState,\n serializeW9Fields,\n EMPTY_W9_DEFAULTS,\n TAX_CLASSIFICATION_OPTION_KEYS,\n LLC_CLASSIFICATION_CODES,\n LLC_CLASSIFICATION_OPTION,\n OTHER_CLASSIFICATION_OPTION,\n type W9RedactionState,\n} from './w9Fields'\nimport {\n createContractorSignatureFormSchema,\n type ContractorSignatureFormData,\n type ContractorSignatureFormOutputs,\n type ContractorSignatureOptionalFieldsToRequire,\n} from './contractorSignatureFormSchema'\nimport {\n NameField,\n TaxClassificationField,\n HomeAddressStreet1Field,\n HomeAddressCityField,\n HomeAddressStateField,\n HomeAddressZipField,\n SsnField,\n EinField,\n SignatureTextField,\n AgreeField,\n BusinessNameField,\n LlcClassificationCodeField,\n OtherTextField,\n ForeignPartnersField,\n ExemptPayeeCodeField,\n ExemptionFromFatcaField,\n HomeAddressStreet2Field,\n AccountNumberField,\n CompanyNameField,\n type ContractorSignatureFormFieldComponents,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { withFlags } from '@/partner-hook-utils/form/withFlags'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldMetadata,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\n\n/**\n * Props for {@link useContractorSignatureForm}.\n *\n * @public\n */\nexport interface UseContractorSignatureFormProps {\n /** UUID of the contractor document to sign. */\n documentUuid: string\n /** When validation runs. Passed through to react-hook-form; defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Defaults to `true`; set to `false` when using `composeSubmitHandler`. */\n shouldFocusError?: boolean\n /** Promote optional W-9 fields to required (e.g. `{ create: ['businessName'] }`). */\n optionalFieldsToRequire?: ContractorSignatureOptionalFieldsToRequire\n}\n\n/**\n * Ready-state shape returned by {@link useContractorSignatureForm} once the\n * document metadata has loaded.\n *\n * @public\n */\nexport interface UseContractorSignatureFormReady extends BaseFormHookReady<\n ContractorSignatureFieldsMetadata,\n ContractorSignatureFormData,\n ContractorSignatureFormFieldComponents\n> {\n /** Loaded data — the document being signed and a downloadable PDF URL. */\n data: {\n /** The document entity fetched from the API. */\n document: Document\n /** URL to the document's PDF, or `null` when unavailable. */\n pdfUrl: string | null\n /** Whether the document carries signable fields (vs. acknowledge-only). */\n hasFields: boolean\n }\n /** Submit-state flags. */\n status: {\n /** `true` while the sign mutation is in flight. */\n isPending: boolean\n /** Always `'create'`; the hook always submits as a signing operation. */\n mode: 'create'\n }\n /** Imperative actions exposed by the hook. */\n actions: {\n /** Validates the form and submits the signature. Resolves with the signed document on success, or `undefined` on validation or API failure. */\n onSubmit: () => Promise<HookSubmitResult<DocumentSigned> | undefined>\n }\n}\n\n/**\n * Result of {@link useContractorSignatureForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseContractorSignatureFormResult = HookLoadingResult | UseContractorSignatureFormReady\n\n/**\n * Per-field metadata exposed by {@link useContractorSignatureForm} as `form.fieldsMetadata`.\n *\n * @remarks\n * Extracted from the ready-state result for standalone use when a partner needs\n * to type-check or reference the metadata shape independently.\n *\n * @public\n */\nexport type ContractorSignatureFieldsMetadata = ReturnType<\n typeof buildContractorSignatureFieldsMetadata\n>\n\nfunction buildFields(\n presentFieldNames: Set<string>,\n classification: string,\n): ContractorSignatureFormFieldComponents {\n return {\n // Every field is presence-gated to guard against the document API diverging\n // (dropping or renaming a field) — only `Agree` is synthesized and always on.\n Name: presentFieldNames.has('name') ? NameField : undefined,\n TaxClassification: presentFieldNames.has('taxClassification')\n ? TaxClassificationField\n : undefined,\n HomeAddressStreet1: presentFieldNames.has('homeAddressStreet1')\n ? HomeAddressStreet1Field\n : undefined,\n HomeAddressCity: presentFieldNames.has('homeAddressCity') ? HomeAddressCityField : undefined,\n HomeAddressState: presentFieldNames.has('homeAddressState') ? HomeAddressStateField : undefined,\n HomeAddressZip: presentFieldNames.has('homeAddressZip') ? HomeAddressZipField : undefined,\n Ssn: presentFieldNames.has('ssn') ? SsnField : undefined,\n Ein: presentFieldNames.has('ein') ? EinField : undefined,\n SignatureText: presentFieldNames.has('signatureText') ? SignatureTextField : undefined,\n Agree: AgreeField,\n BusinessName: presentFieldNames.has('businessName') ? BusinessNameField : undefined,\n // Revealed only while the LLC classification is selected (and the document\n // carries classification checkboxes).\n LlcClassificationCode:\n presentFieldNames.has('llcClassificationCode') && classification === LLC_CLASSIFICATION_OPTION\n ? LlcClassificationCodeField\n : undefined,\n // Revealed only while the \"Other\" classification is selected.\n OtherText:\n presentFieldNames.has('otherText') && classification === OTHER_CLASSIFICATION_OPTION\n ? OtherTextField\n : undefined,\n ForeignPartners: presentFieldNames.has('foreignPartners') ? ForeignPartnersField : undefined,\n ExemptPayeeCode: presentFieldNames.has('exemptPayeeCode') ? ExemptPayeeCodeField : undefined,\n ExemptionFromFatca: presentFieldNames.has('exemptionFromFatca')\n ? ExemptionFromFatcaField\n : undefined,\n HomeAddressStreet2: presentFieldNames.has('homeAddressStreet2')\n ? HomeAddressStreet2Field\n : undefined,\n AccountNumber: presentFieldNames.has('accountNumber') ? AccountNumberField : undefined,\n CompanyName: presentFieldNames.has('companyName') ? CompanyNameField : undefined,\n }\n}\n\n/** @internal */\nfunction buildContractorSignatureFieldsMetadata(\n base: Record<keyof ContractorSignatureFormData, FieldMetadata>,\n { ssnPlaceholder, einPlaceholder }: { ssnPlaceholder?: string; einPlaceholder?: string },\n) {\n const taxClassificationOptions = TAX_CLASSIFICATION_OPTION_KEYS.map(key => ({\n value: key,\n label: key,\n }))\n const llcClassificationOptions = LLC_CLASSIFICATION_CODES.map(code => ({\n value: code,\n label: code,\n }))\n\n return {\n name: base.name,\n businessName: base.businessName,\n taxClassification: withOptions(base.taxClassification, taxClassificationOptions, [\n ...TAX_CLASSIFICATION_OPTION_KEYS,\n ]),\n llcClassificationCode: withOptions(base.llcClassificationCode, llcClassificationOptions, [\n ...LLC_CLASSIFICATION_CODES,\n ]),\n otherText: base.otherText,\n foreignPartners: base.foreignPartners,\n exemptPayeeCode: base.exemptPayeeCode,\n exemptionFromFatca: base.exemptionFromFatca,\n homeAddressStreet1: base.homeAddressStreet1,\n homeAddressStreet2: base.homeAddressStreet2,\n homeAddressCity: base.homeAddressCity,\n homeAddressState: base.homeAddressState,\n homeAddressZip: base.homeAddressZip,\n accountNumber: base.accountNumber,\n companyName: base.companyName,\n // The masked value drives the redacted SSN/EIN placeholder. `buildFormSchema`\n // already set `hasRedactedValue` and exempted the field from required validation.\n ssn: withFlags(base.ssn, ssnPlaceholder ? { placeholder: ssnPlaceholder } : {}),\n ein: withFlags(base.ein, einPlaceholder ? { placeholder: einPlaceholder } : {}),\n signatureText: base.signatureText,\n agree: base.agree,\n } satisfies FieldsMetadata\n}\n\n/**\n * Headless hook for signing a contractor document — collects the document's\n * fields plus a typed signature and consent.\n *\n * @remarks\n * This hook implements the W-9 — the only signable contractor document the API\n * exposes today (`taxpayer_identification_form_w_9`). The field surface is\n * declared statically (`form.Fields`), like the other SDK form hooks: core\n * fields are always present, while variable fields are exposed only when the API\n * returns them (otherwise `undefined`) — a presence-based safety check, so a\n * field the API drops is skipped rather than rendered as an orphan. The seven\n * federal tax-classification checkboxes are collapsed into a single required\n * radio group with conditional LLC-code and \"Other\" sub-fields, and on submit\n * the selection is mapped back to the W-9 wire format. Pre-filled values (name,\n * address, TIN, etc.) are editable inputs; the signing `date` is omitted so the\n * API auto-fills it. A document that returns no recognized W-9 fields renders\n * as acknowledge-only (`data.hasFields` is `false`). Consult\n * `form.fieldsMetadata` for per-field required flags and select/radio options.\n *\n * @param props - See {@link UseContractorSignatureFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseContractorSignatureFormReady} once loaded.\n * @public\n *\n * @example\n * ```tsx\n * import {\n * useContractorSignatureForm,\n * SDKFormProvider,\n * type UseContractorSignatureFormReady,\n * } from '@gusto/embedded-react-sdk'\n *\n * function SignDocumentPage({ documentId }: { documentId: string }) {\n * const signatureForm = useContractorSignatureForm({ documentId })\n *\n * if (signatureForm.isLoading) return <div>Loading...</div>\n *\n * return <SignDocumentReady signatureForm={signatureForm} />\n * }\n *\n * function SignDocumentReady({\n * signatureForm,\n * }: {\n * signatureForm: UseContractorSignatureFormReady\n * }) {\n * const { Fields } = signatureForm.form\n *\n * const handleSubmit = async () => {\n * await signatureForm.actions.onSubmit()\n * }\n *\n * return (\n * <SDKFormProvider {...signatureForm.form.methods}>\n * {Fields.Name ? <Fields.Name /> : null}\n * {Fields.SignatureText ? <Fields.SignatureText /> : null}\n * <Fields.Agree />\n * <button onClick={handleSubmit}>Sign</button>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useContractorSignatureForm({\n documentUuid,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n optionalFieldsToRequire,\n}: UseContractorSignatureFormProps): UseContractorSignatureFormResult {\n const documentQuery = useContractorDocumentsGet({ documentUuid })\n // PDF failures are intentionally excluded from the page error surface; the\n // download link is simply hidden when the URL is unavailable.\n const pdfQuery = useContractorDocumentsGetPdf({ documentUuid })\n\n const document = documentQuery.data?.document\n\n const presentFieldNames = useMemo(\n () => (document ? getPresentFieldNames(document) : new Set<string>()),\n [document],\n )\n const redaction = useMemo<W9RedactionState>(\n () => (document ? getRedactionState(document) : { ssnRedacted: false, einRedacted: false }),\n [document],\n )\n\n const [schema, metadataConfig] = useMemo(\n () =>\n createContractorSignatureFormSchema({\n optionalFieldsToRequire,\n ssnRedacted: redaction.ssnRedacted,\n einRedacted: redaction.einRedacted,\n }),\n [optionalFieldsToRequire, redaction.ssnRedacted, redaction.einRedacted],\n )\n\n const defaultValues = useMemo<ContractorSignatureFormData>(\n () => (document ? buildW9Defaults(document) : EMPTY_W9_DEFAULTS),\n [document],\n )\n\n const formMethods = useForm<ContractorSignatureFormData, unknown, ContractorSignatureFormOutputs>(\n {\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues,\n values: defaultValues,\n resetOptions: { keepDirtyValues: true },\n },\n )\n\n const watchedClassification = useWatch({\n control: formMethods.control,\n name: 'taxClassification',\n })\n const Fields = useMemo(\n () => buildFields(presentFieldNames, watchedClassification),\n [presentFieldNames, watchedClassification],\n )\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n\n const fieldsMetadata = useMemo(\n () =>\n buildContractorSignatureFieldsMetadata(baseMetadata, {\n ssnPlaceholder: redaction.ssnPlaceholder,\n einPlaceholder: redaction.einPlaceholder,\n }),\n [baseMetadata, redaction],\n )\n\n const signMutation = useContractorDocumentsSignMutation()\n const isPending = signMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ContractorSignatureForm')\n\n const errorHandling = composeErrorHandler([documentQuery], { submitError, setSubmitError })\n\n const onSubmit = async (): Promise<HookSubmitResult<DocumentSigned> | undefined> => {\n let submitResult: HookSubmitResult<DocumentSigned> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: ContractorSignatureFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n if (!document) {\n throw new SDKInternalError('Document must be loaded before signing')\n }\n\n const result = await signMutation.mutateAsync({\n request: {\n documentUuid,\n requestBody: {\n fields: serializeW9Fields(document, payload, redaction),\n agree: payload.agree,\n // The signing IP is supplied by the partner proxy via the\n // `x-gusto-client-ip` header; send an empty body value to\n // match the employee/company sign flows.\n signedByIpAddress: '',\n },\n },\n })\n\n const signedDocument = result.documentSigned\n\n if (!signedDocument) {\n throw new SDKInternalError('Contractor document signing failed')\n }\n\n submitResult = { mode: 'create', data: signedDocument }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (documentQuery.isLoading || !document) {\n return { isLoading: true, errorHandling }\n }\n\n return {\n isLoading: false,\n data: {\n document,\n pdfUrl: pdfQuery.data?.documentPdf?.documentUrl ?? null,\n hasFields: presentFieldNames.size > 0,\n },\n status: { isPending, mode: 'create' },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields,\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n"],"names":["buildFields","presentFieldNames","classification","NameField","TaxClassificationField","HomeAddressStreet1Field","HomeAddressCityField","HomeAddressStateField","HomeAddressZipField","SsnField","EinField","SignatureTextField","AgreeField","BusinessNameField","LLC_CLASSIFICATION_OPTION","LlcClassificationCodeField","OTHER_CLASSIFICATION_OPTION","OtherTextField","ForeignPartnersField","ExemptPayeeCodeField","ExemptionFromFatcaField","HomeAddressStreet2Field","AccountNumberField","CompanyNameField","buildContractorSignatureFieldsMetadata","base","ssnPlaceholder","einPlaceholder","taxClassificationOptions","TAX_CLASSIFICATION_OPTION_KEYS","key","llcClassificationOptions","LLC_CLASSIFICATION_CODES","code","withOptions","withFlags","useContractorSignatureForm","documentUuid","validationMode","shouldFocusError","optionalFieldsToRequire","documentQuery","useContractorDocumentsGet","pdfQuery","useContractorDocumentsGetPdf","document","useMemo","getPresentFieldNames","redaction","getRedactionState","schema","metadataConfig","createContractorSignatureFormSchema","defaultValues","buildW9Defaults","EMPTY_W9_DEFAULTS","formMethods","useForm","zodResolver","watchedClassification","useWatch","Fields","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","signMutation","useContractorDocumentsSignMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","onSubmit","submitResult","resolve","data","payload","SDKInternalError","signedDocument","serializeW9Fields","hookFormInternals","useHookFormInternals","createGetFormSubmissionValues"],"mappings":"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"}
1
+ {"version":3,"file":"useContractorSignatureForm.js","sources":["../../../../../../src/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Document } from '@gusto/embedded-api/models/components/document'\nimport type { DocumentSigned } from '@gusto/embedded-api/models/components/documentsigned'\nimport { useContractorDocumentsGet } from '@gusto/embedded-api/react-query/contractorDocumentsGet'\nimport { useContractorDocumentsGetPdf } from '@gusto/embedded-api/react-query/contractorDocumentsGetPdf'\nimport { useContractorDocumentsSignMutation } from '@gusto/embedded-api/react-query/contractorDocumentsSign'\nimport {\n buildW9Defaults,\n getPresentFieldNames,\n getRedactionState,\n serializeW9Fields,\n EMPTY_W9_DEFAULTS,\n TAX_CLASSIFICATION_OPTION_KEYS,\n LLC_CLASSIFICATION_CODES,\n LLC_CLASSIFICATION_OPTION,\n OTHER_CLASSIFICATION_OPTION,\n type W9RedactionState,\n} from './w9Fields'\nimport {\n createContractorSignatureFormSchema,\n type ContractorSignatureFormData,\n type ContractorSignatureFormOutputs,\n type ContractorSignatureOptionalFieldsToRequire,\n} from './contractorSignatureFormSchema'\nimport {\n NameField,\n TaxClassificationField,\n HomeAddressStreet1Field,\n HomeAddressCityField,\n HomeAddressStateField,\n HomeAddressZipField,\n SsnField,\n EinField,\n SignatureTextField,\n AgreeField,\n BusinessNameField,\n LlcClassificationCodeField,\n OtherTextField,\n ForeignPartnersField,\n ExemptPayeeCodeField,\n ExemptionFromFatcaField,\n HomeAddressStreet2Field,\n AccountNumberField,\n CompanyNameField,\n type ContractorSignatureFormFieldComponents,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { withFlags } from '@/partner-hook-utils/form/withFlags'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldMetadata,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\n\n/**\n * Props for {@link useContractorSignatureForm}.\n *\n * @public\n */\nexport interface UseContractorSignatureFormProps {\n /** UUID of the contractor document to sign. */\n documentUuid: string\n /** When validation runs. Passed through to react-hook-form; defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Defaults to `true`; set to `false` when using `composeSubmitHandler`. */\n shouldFocusError?: boolean\n /** Promote optional W-9 fields to required (e.g. `{ create: ['businessName'] }`). */\n optionalFieldsToRequire?: ContractorSignatureOptionalFieldsToRequire\n}\n\n/**\n * Ready-state shape returned by {@link useContractorSignatureForm} once the\n * document metadata has loaded.\n *\n * @public\n */\nexport interface UseContractorSignatureFormReady extends BaseFormHookReady<\n ContractorSignatureFieldsMetadata,\n ContractorSignatureFormData,\n ContractorSignatureFormFieldComponents\n> {\n /** Loaded data — the document being signed and a downloadable PDF URL. */\n data: {\n /** The document entity fetched from the API. */\n document: Document\n /** URL to the document's PDF, or `null` when unavailable. */\n pdfUrl: string | null\n /** Whether the document carries signable fields (vs. acknowledge-only). */\n hasFields: boolean\n }\n /** Submit-state flags. */\n status: {\n /** `true` while the sign mutation is in flight. */\n isPending: boolean\n /** Always `'create'`; the hook always submits as a signing operation. */\n mode: 'create'\n }\n /** Imperative actions exposed by the hook. */\n actions: {\n /** Validates the form and submits the signature. Resolves with the signed document on success, or `undefined` on validation or API failure. */\n onSubmit: () => Promise<HookSubmitResult<DocumentSigned> | undefined>\n }\n}\n\n/**\n * Result of {@link useContractorSignatureForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseContractorSignatureFormResult = HookLoadingResult | UseContractorSignatureFormReady\n\n/**\n * Per-field metadata exposed by {@link useContractorSignatureForm} as `form.fieldsMetadata`.\n *\n * @remarks\n * Extracted from the ready-state result for standalone use when a partner needs\n * to type-check or reference the metadata shape independently.\n *\n * @public\n */\nexport type ContractorSignatureFieldsMetadata = ReturnType<\n typeof buildContractorSignatureFieldsMetadata\n>\n\nfunction buildFields(\n presentFieldNames: Set<string>,\n classification: string,\n): ContractorSignatureFormFieldComponents {\n return {\n // Every field is presence-gated to guard against the document API diverging\n // (dropping or renaming a field) — only `Agree` is synthesized and always on.\n Name: presentFieldNames.has('name') ? NameField : undefined,\n TaxClassification: presentFieldNames.has('taxClassification')\n ? TaxClassificationField\n : undefined,\n HomeAddressStreet1: presentFieldNames.has('homeAddressStreet1')\n ? HomeAddressStreet1Field\n : undefined,\n HomeAddressCity: presentFieldNames.has('homeAddressCity') ? HomeAddressCityField : undefined,\n HomeAddressState: presentFieldNames.has('homeAddressState') ? HomeAddressStateField : undefined,\n HomeAddressZip: presentFieldNames.has('homeAddressZip') ? HomeAddressZipField : undefined,\n Ssn: presentFieldNames.has('ssn') ? SsnField : undefined,\n Ein: presentFieldNames.has('ein') ? EinField : undefined,\n SignatureText: presentFieldNames.has('signatureText') ? SignatureTextField : undefined,\n Agree: AgreeField,\n BusinessName: presentFieldNames.has('businessName') ? BusinessNameField : undefined,\n // Revealed only while the LLC classification is selected (and the document\n // carries classification checkboxes).\n LlcClassificationCode:\n presentFieldNames.has('llcClassificationCode') && classification === LLC_CLASSIFICATION_OPTION\n ? LlcClassificationCodeField\n : undefined,\n // Revealed only while the \"Other\" classification is selected.\n OtherText:\n presentFieldNames.has('otherText') && classification === OTHER_CLASSIFICATION_OPTION\n ? OtherTextField\n : undefined,\n ForeignPartners: presentFieldNames.has('foreignPartners') ? ForeignPartnersField : undefined,\n ExemptPayeeCode: presentFieldNames.has('exemptPayeeCode') ? ExemptPayeeCodeField : undefined,\n ExemptionFromFatca: presentFieldNames.has('exemptionFromFatca')\n ? ExemptionFromFatcaField\n : undefined,\n HomeAddressStreet2: presentFieldNames.has('homeAddressStreet2')\n ? HomeAddressStreet2Field\n : undefined,\n AccountNumber: presentFieldNames.has('accountNumber') ? AccountNumberField : undefined,\n CompanyName: presentFieldNames.has('companyName') ? CompanyNameField : undefined,\n }\n}\n\n/** @internal */\nfunction buildContractorSignatureFieldsMetadata(\n base: Record<keyof ContractorSignatureFormData, FieldMetadata>,\n { ssnPlaceholder, einPlaceholder }: { ssnPlaceholder?: string; einPlaceholder?: string },\n) {\n const taxClassificationOptions = TAX_CLASSIFICATION_OPTION_KEYS.map(key => ({\n value: key,\n label: key,\n }))\n const llcClassificationOptions = LLC_CLASSIFICATION_CODES.map(code => ({\n value: code,\n label: code,\n }))\n\n return {\n name: base.name,\n businessName: base.businessName,\n taxClassification: withOptions(base.taxClassification, taxClassificationOptions, [\n ...TAX_CLASSIFICATION_OPTION_KEYS,\n ]),\n llcClassificationCode: withOptions(base.llcClassificationCode, llcClassificationOptions, [\n ...LLC_CLASSIFICATION_CODES,\n ]),\n otherText: base.otherText,\n foreignPartners: base.foreignPartners,\n exemptPayeeCode: base.exemptPayeeCode,\n exemptionFromFatca: base.exemptionFromFatca,\n homeAddressStreet1: base.homeAddressStreet1,\n homeAddressStreet2: base.homeAddressStreet2,\n homeAddressCity: base.homeAddressCity,\n homeAddressState: base.homeAddressState,\n homeAddressZip: base.homeAddressZip,\n accountNumber: base.accountNumber,\n companyName: base.companyName,\n // The masked value drives the redacted SSN/EIN placeholder. `buildFormSchema`\n // already set `hasRedactedValue` and exempted the field from required validation.\n ssn: withFlags(base.ssn, ssnPlaceholder ? { placeholder: ssnPlaceholder } : {}),\n ein: withFlags(base.ein, einPlaceholder ? { placeholder: einPlaceholder } : {}),\n signatureText: base.signatureText,\n agree: base.agree,\n } satisfies FieldsMetadata\n}\n\n/**\n * Headless hook for signing a contractor document — collects the document's\n * fields plus a typed signature and consent.\n *\n * @remarks\n * This hook implements the W-9 — the only signable contractor document the API\n * exposes today (`taxpayer_identification_form_w_9`). The field surface is\n * declared statically (`form.Fields`), like the other SDK form hooks: core\n * fields are always present, while variable fields are exposed only when the API\n * returns them (otherwise `undefined`) — a presence-based safety check, so a\n * field the API drops is skipped rather than rendered as an orphan. The seven\n * federal tax-classification checkboxes are collapsed into a single required\n * radio group with conditional LLC-code and \"Other\" sub-fields, and on submit\n * the selection is mapped back to the W-9 wire format. Pre-filled values (name,\n * address, TIN, etc.) are editable inputs; the signing `date` is omitted so the\n * API auto-fills it. A document that returns no recognized W-9 fields renders\n * as acknowledge-only (`data.hasFields` is `false`). Consult\n * `form.fieldsMetadata` for per-field required flags and select/radio options.\n *\n * @param props - See {@link UseContractorSignatureFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseContractorSignatureFormReady} once loaded.\n * @public\n *\n * @example\n * ```tsx\n * import {\n * useContractorSignatureForm,\n * SDKFormProvider,\n * type UseContractorSignatureFormReady,\n * } from '@gusto/embedded-react-sdk'\n *\n * function SignDocumentPage({ documentId }: { documentId: string }) {\n * const signatureForm = useContractorSignatureForm({ documentId })\n *\n * if (signatureForm.isLoading) return <div>Loading...</div>\n *\n * return <SignDocumentReady signatureForm={signatureForm} />\n * }\n *\n * function SignDocumentReady({\n * signatureForm,\n * }: {\n * signatureForm: UseContractorSignatureFormReady\n * }) {\n * const { Fields } = signatureForm.form\n *\n * const handleSubmit = async () => {\n * await signatureForm.actions.onSubmit()\n * }\n *\n * return (\n * <SDKFormProvider {...signatureForm.form.methods}>\n * {Fields.Name ? <Fields.Name /> : null}\n * {Fields.SignatureText ? <Fields.SignatureText /> : null}\n * <Fields.Agree />\n * <button onClick={handleSubmit}>Sign</button>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useContractorSignatureForm({\n documentUuid,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n optionalFieldsToRequire,\n}: UseContractorSignatureFormProps): UseContractorSignatureFormResult {\n const documentQuery = useContractorDocumentsGet({ documentUuid })\n // PDF failures are intentionally excluded from the page error surface; the\n // download link is simply hidden when the URL is unavailable.\n const pdfQuery = useContractorDocumentsGetPdf({ documentUuid })\n\n const document = documentQuery.data?.document\n\n const presentFieldNames = useMemo(\n () => (document ? getPresentFieldNames(document) : new Set<string>()),\n [document],\n )\n const redaction = useMemo<W9RedactionState>(\n () => (document ? getRedactionState(document) : { ssnRedacted: false, einRedacted: false }),\n [document],\n )\n\n const [schema, metadataConfig] = useMemo(\n () =>\n createContractorSignatureFormSchema({\n optionalFieldsToRequire,\n ssnRedacted: redaction.ssnRedacted,\n einRedacted: redaction.einRedacted,\n }),\n [optionalFieldsToRequire, redaction.ssnRedacted, redaction.einRedacted],\n )\n\n const defaultValues = useMemo<ContractorSignatureFormData>(\n () => (document ? buildW9Defaults(document) : EMPTY_W9_DEFAULTS),\n [document],\n )\n\n const formMethods = useForm<ContractorSignatureFormData, unknown, ContractorSignatureFormOutputs>(\n {\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues,\n values: defaultValues,\n resetOptions: { keepDirtyValues: true },\n },\n )\n\n const watchedClassification = useWatch({\n control: formMethods.control,\n name: 'taxClassification',\n })\n const Fields = useMemo(\n () => buildFields(presentFieldNames, watchedClassification),\n [presentFieldNames, watchedClassification],\n )\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n\n const fieldsMetadata = useMemo(\n () =>\n buildContractorSignatureFieldsMetadata(baseMetadata, {\n ssnPlaceholder: redaction.ssnPlaceholder,\n einPlaceholder: redaction.einPlaceholder,\n }),\n [baseMetadata, redaction],\n )\n\n const signMutation = useContractorDocumentsSignMutation()\n const isPending = signMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ContractorSignatureForm')\n\n const errorHandling = composeErrorHandler([documentQuery], { submitError, setSubmitError })\n\n const onSubmit = async (): Promise<HookSubmitResult<DocumentSigned> | undefined> => {\n let submitResult: HookSubmitResult<DocumentSigned> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: ContractorSignatureFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n if (!document) {\n throw new SDKInternalError('Document must be loaded before signing')\n }\n\n const result = await signMutation.mutateAsync({\n request: {\n documentUuid,\n requestBody: {\n fields: serializeW9Fields(document, payload, redaction),\n agree: payload.agree,\n // The signing IP is supplied by the partner proxy via the\n // `x-gusto-client-ip` header; send an empty body value to\n // match the employee/company sign flows.\n signedByIpAddress: '',\n },\n },\n })\n\n const signedDocument = result.documentSigned\n\n if (!signedDocument) {\n throw new SDKInternalError('Contractor document signing failed')\n }\n\n submitResult = { mode: 'create', data: signedDocument }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (documentQuery.isLoading || !document) {\n return { isLoading: true, errorHandling }\n }\n\n return {\n isLoading: false,\n data: {\n document,\n pdfUrl: pdfQuery.data?.documentPdf?.documentUrl ?? null,\n hasFields: presentFieldNames.size > 0,\n },\n status: { isPending, mode: 'create' },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields,\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n"],"names":["buildFields","presentFieldNames","classification","NameField","TaxClassificationField","HomeAddressStreet1Field","HomeAddressCityField","HomeAddressStateField","HomeAddressZipField","SsnField","EinField","SignatureTextField","AgreeField","BusinessNameField","LLC_CLASSIFICATION_OPTION","LlcClassificationCodeField","OTHER_CLASSIFICATION_OPTION","OtherTextField","ForeignPartnersField","ExemptPayeeCodeField","ExemptionFromFatcaField","HomeAddressStreet2Field","AccountNumberField","CompanyNameField","buildContractorSignatureFieldsMetadata","base","ssnPlaceholder","einPlaceholder","taxClassificationOptions","TAX_CLASSIFICATION_OPTION_KEYS","key","llcClassificationOptions","LLC_CLASSIFICATION_CODES","code","withOptions","withFlags","useContractorSignatureForm","documentUuid","validationMode","shouldFocusError","optionalFieldsToRequire","documentQuery","useContractorDocumentsGet","pdfQuery","useContractorDocumentsGetPdf","document","useMemo","getPresentFieldNames","redaction","getRedactionState","schema","metadataConfig","createContractorSignatureFormSchema","defaultValues","buildW9Defaults","EMPTY_W9_DEFAULTS","formMethods","useForm","zodResolver","watchedClassification","useWatch","Fields","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","signMutation","useContractorDocumentsSignMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","onSubmit","submitResult","resolve","data","payload","SDKInternalError","signedDocument","serializeW9Fields","hookFormInternals","useHookFormInternals","createGetFormSubmissionValues"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Document } from '@gusto/embedded-api-v-2026-02-01/models/components/document';
1
+ import { Document } from '@gusto/embedded-api/models/components/document';
2
2
  import { ContractorSignatureFormData } from './contractorSignatureFormSchema';
3
3
  /**
4
4
  * The `name` of the W-9 document — the only contractor document type that
@@ -1,13 +1,13 @@
1
1
  import { normalizeEin as S } from "../../../../../helpers/federalEin.js";
2
2
  import { normalizeSSN as N } from "../../../../../helpers/ssn.js";
3
- const _ = "N/A";
4
- function R(e) {
5
- const s = e.replace(/\s/g, "").toUpperCase();
6
- return s === "NA" ? _ : s === "N" || s === "N/" || s === _ ? s : S(e);
7
- }
3
+ const R = "taxpayer_identification_form_w_9", _ = "N/A";
8
4
  function D(e) {
9
- const s = e.replace(/\s/g, "").toUpperCase();
10
- return s === "NA" ? _ : s === "N" || s === "N/" || s === _ ? s : N(e);
5
+ const t = e.replace(/\s/g, "").toUpperCase();
6
+ return t === "NA" ? _ : t === "N" || t === "N/" || t === _ ? t : S(e);
7
+ }
8
+ function k(e) {
9
+ const t = e.replace(/\s/g, "").toUpperCase();
10
+ return t === "NA" ? _ : t === "N" || t === "N/" || t === _ ? t : N(e);
11
11
  }
12
12
  const x = "taxClassification", T = "llcClassificationCode", F = "otherText", C = [
13
13
  "individual_proprietor",
@@ -17,7 +17,7 @@ const x = "taxClassification", T = "llcClassificationCode", F = "otherText", C =
17
17
  "trust_estate",
18
18
  "limited_liability_company",
19
19
  "other"
20
- ], y = "limited_liability_company", I = "other", k = ["c", "s", "p"], l = {
20
+ ], y = "limited_liability_company", I = "other", K = ["c", "s", "p"], l = {
21
21
  name: "name",
22
22
  businessName: "business_name",
23
23
  otherText: "other_text",
@@ -35,63 +35,63 @@ const x = "taxClassification", T = "llcClassificationCode", F = "otherText", C =
35
35
  ein: "ein",
36
36
  signatureText: "signature_text"
37
37
  }, g = /* @__PURE__ */ new Set(["ssn", "ein"]);
38
- function b(e) {
38
+ function E(e) {
39
39
  return typeof e == "string" && /[X•*]/.test(e);
40
40
  }
41
41
  function h(e) {
42
- return e ? (g.has(e.key ?? "") || e.dataType === "ssn" || e.dataType === "ein") && b(e.value) : !1;
42
+ return e ? (g.has(e.key ?? "") || e.dataType === "ssn" || e.dataType === "ein") && E(e.value) : !1;
43
43
  }
44
44
  function u(e) {
45
- const s = /* @__PURE__ */ new Map();
45
+ const t = /* @__PURE__ */ new Map();
46
46
  for (const n of e.fields ?? [])
47
- n.key && s.set(n.key, n);
48
- return s;
47
+ n.key && t.set(n.key, n);
48
+ return t;
49
49
  }
50
50
  function A(e) {
51
51
  return e === "1" || e === "true";
52
52
  }
53
- function E(e) {
54
- const s = u(e), n = s.get("ssn"), t = s.get("ein"), o = h(n), a = h(t);
53
+ function b(e) {
54
+ const t = u(e), n = t.get("ssn"), s = t.get("ein"), o = h(n), a = h(s);
55
55
  return {
56
56
  ssnRedacted: o,
57
57
  einRedacted: a,
58
58
  ssnPlaceholder: o ? n?.value ?? void 0 : void 0,
59
- einPlaceholder: a ? t?.value ?? void 0 : void 0
59
+ einPlaceholder: a ? s?.value ?? void 0 : void 0
60
60
  };
61
61
  }
62
62
  function L(e) {
63
- const s = u(e), n = /* @__PURE__ */ new Set();
63
+ const t = u(e), n = /* @__PURE__ */ new Set();
64
64
  for (const [o, a] of Object.entries(l))
65
- s.has(a) && n.add(o);
66
- return C.some((o) => s.has(o)) && (n.add(x), n.add(T)), n;
65
+ t.has(a) && n.add(o);
66
+ return C.some((o) => t.has(o)) && (n.add(x), n.add(T)), n;
67
67
  }
68
- function K(e) {
69
- const s = u(e), n = E(e), t = (a) => s.get(a)?.value ?? "", o = C.find((a) => A(s.get(a)?.value)) ?? "";
68
+ function z(e) {
69
+ const t = u(e), n = b(e), s = (a) => t.get(a)?.value ?? "", o = C.find((a) => A(t.get(a)?.value)) ?? "";
70
70
  return {
71
- name: t("name"),
72
- businessName: t("business_name"),
71
+ name: s("name"),
72
+ businessName: s("business_name"),
73
73
  taxClassification: o,
74
74
  // The LLC code serializes into the `tax_classification` field, so seed it
75
75
  // back from there when the LLC classification is the selected one.
76
- llcClassificationCode: o === y ? t("tax_classification") : "",
77
- otherText: t("other_text"),
78
- foreignPartners: A(s.get("foreign_partners")?.value),
79
- exemptPayeeCode: t("exempt_payee_code"),
80
- exemptionFromFatca: t("exemption_from_FATCA"),
81
- homeAddressStreet1: t("home_address_street_1"),
82
- homeAddressStreet2: t("home_address_street_2"),
83
- homeAddressCity: t("home_address_city"),
84
- homeAddressState: t("home_address_state"),
85
- homeAddressZip: t("home_address_zip"),
86
- accountNumber: t("account_number"),
87
- companyName: t("company_name"),
88
- ssn: n.ssnRedacted ? "" : t("ssn"),
89
- ein: n.einRedacted ? "" : t("ein"),
90
- signatureText: t("signature_text"),
76
+ llcClassificationCode: o === y ? s("tax_classification") : "",
77
+ otherText: s("other_text"),
78
+ foreignPartners: A(t.get("foreign_partners")?.value),
79
+ exemptPayeeCode: s("exempt_payee_code"),
80
+ exemptionFromFatca: s("exemption_from_FATCA"),
81
+ homeAddressStreet1: s("home_address_street_1"),
82
+ homeAddressStreet2: s("home_address_street_2"),
83
+ homeAddressCity: s("home_address_city"),
84
+ homeAddressState: s("home_address_state"),
85
+ homeAddressZip: s("home_address_zip"),
86
+ accountNumber: s("account_number"),
87
+ companyName: s("company_name"),
88
+ ssn: n.ssnRedacted ? "" : s("ssn"),
89
+ ein: n.einRedacted ? "" : s("ein"),
90
+ signatureText: s("signature_text"),
91
91
  agree: !1
92
92
  };
93
93
  }
94
- const z = {
94
+ const V = {
95
95
  name: "",
96
96
  businessName: "",
97
97
  taxClassification: "",
@@ -111,7 +111,7 @@ const z = {
111
111
  ein: "",
112
112
  signatureText: "",
113
113
  agree: !1
114
- }, P = [
114
+ }, O = [
115
115
  "name",
116
116
  "businessName",
117
117
  "exemptPayeeCode",
@@ -125,25 +125,25 @@ const z = {
125
125
  "companyName",
126
126
  "signatureText"
127
127
  ];
128
- function V(e, s, n) {
129
- const t = L(e), o = [], a = s, r = (i) => {
128
+ function U(e, t, n) {
129
+ const s = L(e), o = [], a = t, r = (i) => {
130
130
  const m = a[i];
131
131
  return typeof m == "string" ? m : "";
132
132
  }, c = r("taxClassification"), d = (i, m) => {
133
133
  o.push({ key: l[i], value: m });
134
134
  };
135
- for (const i of P)
136
- t.has(i) && d(i, r(i));
137
- t.has(F) && c === I && d("otherText", r("otherText")), t.has("foreignPartners") && o.push({
135
+ for (const i of O)
136
+ s.has(i) && d(i, r(i));
137
+ s.has(F) && c === I && d("otherText", r("otherText")), s.has("foreignPartners") && o.push({
138
138
  key: l.foreignPartners,
139
- value: s.foreignPartners ? "1" : "0"
139
+ value: t.foreignPartners ? "1" : "0"
140
140
  });
141
141
  const f = r("ssn"), p = r("ein");
142
- return t.has("ssn") && !(n.ssnRedacted && f === "") && d("ssn", f), t.has("ein") && !(n.einRedacted && p === "") && d("ein", p), c && (o.push({ key: c, value: "1" }), c === y && o.push({ key: "tax_classification", value: r("llcClassificationCode") })), o;
142
+ return s.has("ssn") && !(n.ssnRedacted && f === "") && d("ssn", f), s.has("ein") && !(n.einRedacted && p === "") && d("ein", p), c && (o.push({ key: c, value: "1" }), c === y && o.push({ key: "tax_classification", value: r("llcClassificationCode") })), o;
143
143
  }
144
144
  export {
145
- z as EMPTY_W9_DEFAULTS,
146
- k as LLC_CLASSIFICATION_CODES,
145
+ V as EMPTY_W9_DEFAULTS,
146
+ K as LLC_CLASSIFICATION_CODES,
147
147
  T as LLC_CLASSIFICATION_FIELD,
148
148
  y as LLC_CLASSIFICATION_OPTION,
149
149
  _ as NOT_APPLICABLE_VALUE,
@@ -151,12 +151,13 @@ export {
151
151
  F as OTHER_TEXT_FIELD,
152
152
  x as TAX_CLASSIFICATION_FIELD,
153
153
  C as TAX_CLASSIFICATION_OPTION_KEYS,
154
+ R as W9_DOCUMENT_NAME,
154
155
  l as W9_FIELD_API_KEYS,
155
- K as buildW9Defaults,
156
+ z as buildW9Defaults,
156
157
  L as getPresentFieldNames,
157
- E as getRedactionState,
158
- R as normalizeEinOrNotApplicable,
159
- D as normalizeSsnOrNotApplicable,
160
- V as serializeW9Fields
158
+ b as getRedactionState,
159
+ D as normalizeEinOrNotApplicable,
160
+ k as normalizeSsnOrNotApplicable,
161
+ U as serializeW9Fields
161
162
  };
162
163
  //# sourceMappingURL=w9Fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"w9Fields.js","sources":["../../../../../../src/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.ts"],"sourcesContent":["import type {\n Document,\n Fields as DocumentField,\n} from '@gusto/embedded-api-v-2026-02-01/models/components/document'\nimport type { ContractorSignatureFormData } from './contractorSignatureFormSchema'\nimport { normalizeEin } from '@/helpers/federalEin'\nimport { normalizeSSN } from '@/helpers/ssn'\n\n/**\n * The `name` of the W-9 document — the only contractor document type that\n * supports signing today.\n *\n * @internal\n */\nexport const W9_DOCUMENT_NAME = 'taxpayer_identification_form_w_9'\n\n/**\n * Sentinel the API returns (and accepts) for a taxpayer-ID field that doesn't\n * apply to the signer — e.g. the EIN of an individual contractor, or the SSN of\n * a business contractor. The sign endpoint stamps this verbatim, so the form\n * both prefills it and treats it as a valid submission.\n *\n * @internal\n */\nexport const NOT_APPLICABLE_VALUE = 'N/A'\n\n/**\n * EIN input transform that preserves the `N/A` sentinel (and the in-progress\n * prefixes a user types toward it) while formatting numeric input as a standard\n * EIN (`NN-NNNNNNN`).\n *\n * @remarks\n * The W-9 accepts `N/A` for a taxpayer who supplies an SSN instead of an EIN,\n * but the plain `normalizeEin` formatter strips every non-digit on each\n * keystroke — making the sentinel impossible to type. This wrapper lets the\n * sentinel through (normalized to uppercase) and defers to `normalizeEin` for\n * everything else.\n *\n * @param value - Raw user input.\n * @returns The `N/A` sentinel (or an in-progress prefix), otherwise the EIN-formatted value.\n * @internal\n */\nexport function normalizeEinOrNotApplicable(value: string): string {\n const sentinel = value.replace(/\\s/g, '').toUpperCase()\n if (sentinel === 'NA') return NOT_APPLICABLE_VALUE\n if (sentinel === 'N' || sentinel === 'N/' || sentinel === NOT_APPLICABLE_VALUE) return sentinel\n return normalizeEin(value)\n}\n\n/**\n * SSN input transform that preserves the `N/A` sentinel (and the in-progress\n * prefixes `N` and `N/`) while otherwise deferring to {@link normalizeSSN}.\n *\n * @remarks\n * The W-9 accepts `N/A` for a taxpayer who supplies an EIN instead of an SSN,\n * but the plain `normalizeSSN` formatter strips every non-digit on each\n * keystroke — making the sentinel impossible to type. This wrapper lets the\n * sentinel through (normalized to uppercase) and defers to `normalizeSSN` for\n * everything else.\n *\n * @param value - Raw user input.\n * @returns The `N/A` sentinel (or an in-progress prefix), otherwise the SSN-formatted value.\n * @internal\n */\nexport function normalizeSsnOrNotApplicable(value: string): string {\n const sentinel = value.replace(/\\s/g, '').toUpperCase()\n if (sentinel === 'NA') return NOT_APPLICABLE_VALUE\n if (sentinel === 'N' || sentinel === 'N/' || sentinel === NOT_APPLICABLE_VALUE) return sentinel\n return normalizeSSN(value)\n}\n\n/**\n * Form-field name for the synthesized federal tax classification radio group.\n *\n * @internal\n */\nexport const TAX_CLASSIFICATION_FIELD = 'taxClassification'\n\n/**\n * Form-field name for the synthesized LLC tax classification code select.\n *\n * @internal\n */\nexport const LLC_CLASSIFICATION_FIELD = 'llcClassificationCode'\n\n/**\n * Form-field name for the \"Other\" free-text classification field.\n *\n * @internal\n */\nexport const OTHER_TEXT_FIELD = 'otherText'\n\n/**\n * Ordered classification option keys backing the {@link TAX_CLASSIFICATION_FIELD}\n * radio group. Each maps to a W-9 checkbox field on the underlying document.\n *\n * @internal\n */\nexport const TAX_CLASSIFICATION_OPTION_KEYS = [\n 'individual_proprietor',\n 'c_corporation',\n 's_corporation',\n 'partnership',\n 'trust_estate',\n 'limited_liability_company',\n 'other',\n] as const\n\n/**\n * A single federal tax classification option key.\n *\n * @internal\n */\nexport type TaxClassificationOptionKey = (typeof TAX_CLASSIFICATION_OPTION_KEYS)[number]\n\n/**\n * The classification option that reveals the LLC tax classification select.\n *\n * @internal\n */\nexport const LLC_CLASSIFICATION_OPTION: TaxClassificationOptionKey = 'limited_liability_company'\n\n/**\n * The classification option that reveals the \"Other\" free-text field.\n *\n * @internal\n */\nexport const OTHER_CLASSIFICATION_OPTION: TaxClassificationOptionKey = 'other'\n\n/**\n * Ordered LLC tax classification code options.\n *\n * @internal\n */\nexport const LLC_CLASSIFICATION_CODES = ['c', 's', 'p'] as const\n\n/**\n * Maps each pass-through {@link ContractorSignatureFormData} field to its W-9\n * API field key. Synthesized fields (`taxClassification`,\n * `llcClassificationCode`) and `agree` are intentionally absent.\n *\n * @internal\n */\nexport const W9_FIELD_API_KEYS = {\n name: 'name',\n businessName: 'business_name',\n otherText: 'other_text',\n foreignPartners: 'foreign_partners',\n exemptPayeeCode: 'exempt_payee_code',\n exemptionFromFatca: 'exemption_from_FATCA',\n homeAddressStreet1: 'home_address_street_1',\n homeAddressStreet2: 'home_address_street_2',\n homeAddressCity: 'home_address_city',\n homeAddressState: 'home_address_state',\n homeAddressZip: 'home_address_zip',\n accountNumber: 'account_number',\n companyName: 'company_name',\n ssn: 'ssn',\n ein: 'ein',\n signatureText: 'signature_text',\n} as const satisfies Record<string, string>\n\n/** A pass-through W-9 field name (one with a single backing API key). */\ntype PassThroughFieldName = keyof typeof W9_FIELD_API_KEYS\n\n/** API field keys whose values are sensitive and arrive masked when on file. */\nconst SENSITIVE_FIELD_KEYS = new Set(['ssn', 'ein'])\n\n/** Whether a value is a server-side mask (e.g. `XXX-XX-1111`) rather than real input. */\nfunction isMaskedValue(value: string | null | undefined): boolean {\n return typeof value === 'string' && /[X•*]/.test(value)\n}\n\n/** Whether a document field carries a redacted (masked) sensitive value. */\nfunction hasRedactedValue(field: DocumentField | undefined): boolean {\n if (!field) return false\n const isSensitive =\n SENSITIVE_FIELD_KEYS.has(field.key ?? '') ||\n field.dataType === 'ssn' ||\n field.dataType === 'ein'\n return isSensitive && isMaskedValue(field.value)\n}\n\nfunction indexFields(document: Document): Map<string, DocumentField> {\n const byKey = new Map<string, DocumentField>()\n for (const field of document.fields ?? []) {\n if (field.key) byKey.set(field.key, field)\n }\n return byKey\n}\n\n/** Coerces an API checkbox value (`'1'`, `'true'`) to a boolean. */\nfunction toBoolean(value: string | null | undefined): boolean {\n return value === '1' || value === 'true'\n}\n\n/**\n * Whether the document is a W-9 (the only signable contractor document type).\n *\n * @internal\n */\nexport function isW9Document(document: Document): boolean {\n return document.name === W9_DOCUMENT_NAME\n}\n\n/**\n * Redaction state for the sensitive W-9 fields, derived from the API response.\n *\n * @internal\n */\nexport interface W9RedactionState {\n /** Whether the API returned a masked SSN value. */\n ssnRedacted: boolean\n /** Whether the API returned a masked EIN value. */\n einRedacted: boolean\n /** The masked SSN to surface as a placeholder, when redacted. */\n ssnPlaceholder?: string\n /** The masked EIN to surface as a placeholder, when redacted. */\n einPlaceholder?: string\n}\n\n/**\n * Computes the redaction state of the SSN/EIN fields from the document.\n *\n * @param document - The W-9 document returned by the API.\n * @returns The redaction flags and masked placeholders.\n * @internal\n */\nexport function getRedactionState(document: Document): W9RedactionState {\n const byKey = indexFields(document)\n const ssnField = byKey.get('ssn')\n const einField = byKey.get('ein')\n const ssnRedacted = hasRedactedValue(ssnField)\n const einRedacted = hasRedactedValue(einField)\n return {\n ssnRedacted,\n einRedacted,\n ssnPlaceholder: ssnRedacted ? (ssnField?.value ?? undefined) : undefined,\n einPlaceholder: einRedacted ? (einField?.value ?? undefined) : undefined,\n }\n}\n\n/**\n * Computes which W-9 form fields the API actually returned — the safety check\n * that drives presence-gating in {@link useContractorSignatureForm}.\n *\n * @remarks\n * A pass-through field is present when its API key is in `document.fields`. The\n * synthesized classification fields (`taxClassification`,\n * `llcClassificationCode`) are present when the document carries any of the\n * federal tax classification checkbox fields.\n *\n * @param document - The W-9 document returned by the API.\n * @returns The set of present camelCase field names.\n * @internal\n */\nexport function getPresentFieldNames(document: Document): Set<string> {\n const byKey = indexFields(document)\n const presentFieldNames = new Set<string>()\n\n for (const [fieldName, apiKey] of Object.entries(W9_FIELD_API_KEYS)) {\n if (byKey.has(apiKey)) presentFieldNames.add(fieldName)\n }\n\n const hasClassification = TAX_CLASSIFICATION_OPTION_KEYS.some(key => byKey.has(key))\n if (hasClassification) {\n presentFieldNames.add(TAX_CLASSIFICATION_FIELD)\n presentFieldNames.add(LLC_CLASSIFICATION_FIELD)\n }\n\n return presentFieldNames\n}\n\n/**\n * Builds default form values from a document's fields.\n *\n * @remarks\n * Pass-through values are seeded from the API `value`. The classification radio\n * defaults to whichever classification checkbox is already set (`'1'`/`'true'`),\n * and when that is the LLC classification the LLC code select is seeded from the\n * `tax_classification` field it serializes into. A masked SSN/EIN seeds an empty\n * input (the mask is surfaced as a placeholder instead) so it is never echoed\n * back as the new value on submit.\n *\n * @param document - The W-9 document returned by the API.\n * @returns The default form values.\n * @internal\n */\nexport function buildW9Defaults(document: Document): ContractorSignatureFormData {\n const byKey = indexFields(document)\n const redaction = getRedactionState(document)\n const textValue = (apiKey: string): string => byKey.get(apiKey)?.value ?? ''\n const selectedClassification =\n TAX_CLASSIFICATION_OPTION_KEYS.find(key => toBoolean(byKey.get(key)?.value)) ?? ''\n\n return {\n name: textValue('name'),\n businessName: textValue('business_name'),\n taxClassification: selectedClassification,\n // The LLC code serializes into the `tax_classification` field, so seed it\n // back from there when the LLC classification is the selected one.\n llcClassificationCode:\n selectedClassification === LLC_CLASSIFICATION_OPTION ? textValue('tax_classification') : '',\n otherText: textValue('other_text'),\n foreignPartners: toBoolean(byKey.get('foreign_partners')?.value),\n exemptPayeeCode: textValue('exempt_payee_code'),\n exemptionFromFatca: textValue('exemption_from_FATCA'),\n homeAddressStreet1: textValue('home_address_street_1'),\n homeAddressStreet2: textValue('home_address_street_2'),\n homeAddressCity: textValue('home_address_city'),\n homeAddressState: textValue('home_address_state'),\n homeAddressZip: textValue('home_address_zip'),\n accountNumber: textValue('account_number'),\n companyName: textValue('company_name'),\n ssn: redaction.ssnRedacted ? '' : textValue('ssn'),\n ein: redaction.einRedacted ? '' : textValue('ein'),\n signatureText: textValue('signature_text'),\n agree: false,\n }\n}\n\n/**\n * The empty default form values, used while the document is still loading.\n *\n * @internal\n */\nexport const EMPTY_W9_DEFAULTS: ContractorSignatureFormData = {\n name: '',\n businessName: '',\n taxClassification: '',\n llcClassificationCode: '',\n otherText: '',\n foreignPartners: false,\n exemptPayeeCode: '',\n exemptionFromFatca: '',\n homeAddressStreet1: '',\n homeAddressStreet2: '',\n homeAddressCity: '',\n homeAddressState: '',\n homeAddressZip: '',\n accountNumber: '',\n companyName: '',\n ssn: '',\n ein: '',\n signatureText: '',\n agree: false,\n}\n\n/**\n * A single `{ key, value }` pair sent in the sign request.\n *\n * @internal\n */\nexport interface SignFieldValue {\n /** The API field key. */\n key: string\n /** The serialized field value. */\n value: string\n}\n\n/** Pass-through text fields serialized verbatim (everything except the checkbox and TIN fields). */\nconst TEXT_PASS_THROUGH_FIELDS: PassThroughFieldName[] = [\n 'name',\n 'businessName',\n 'exemptPayeeCode',\n 'exemptionFromFatca',\n 'homeAddressStreet1',\n 'homeAddressStreet2',\n 'homeAddressCity',\n 'homeAddressState',\n 'homeAddressZip',\n 'accountNumber',\n 'companyName',\n 'signatureText',\n]\n\n/**\n * Serializes W-9 form values into the `{ key, value }` field array expected by\n * the sign API.\n *\n * @remarks\n * Only fields the API returned (see {@link getPresentFieldNames}) are sent.\n * Applies the W-9 mapping: the chosen classification key is sent with value\n * `'1'`; when the LLC classification is chosen, the selected LLC code is sent\n * under the `tax_classification` key. `foreignPartners` serializes to\n * `'1'`/`'0'`. The `otherText` value is only included for the \"Other\"\n * classification. An untouched redacted SSN/EIN is omitted so the mask is never\n * sent back. The `date` field is intentionally omitted so the API auto-fills the\n * signing date in its own locale-correct format.\n *\n * @param document - The W-9 document being signed.\n * @param values - The validated form values.\n * @param redaction - The redaction state from {@link getRedactionState}.\n * @returns The ordered field array for the sign request body.\n * @internal\n */\nexport function serializeW9Fields(\n document: Document,\n values: ContractorSignatureFormData,\n redaction: W9RedactionState,\n): SignFieldValue[] {\n const presentFieldNames = getPresentFieldNames(document)\n const fields: SignFieldValue[] = []\n // The schema preprocesses empty inputs to `undefined`, so read through an\n // `unknown` view and coalesce missing values to an empty string.\n const raw = values as Record<string, unknown>\n const text = (name: string): string => {\n const value = raw[name]\n return typeof value === 'string' ? value : ''\n }\n const classification = text('taxClassification')\n\n const pushField = (fieldName: PassThroughFieldName, value: string) => {\n fields.push({ key: W9_FIELD_API_KEYS[fieldName], value })\n }\n\n for (const fieldName of TEXT_PASS_THROUGH_FIELDS) {\n if (!presentFieldNames.has(fieldName)) continue\n pushField(fieldName, text(fieldName))\n }\n\n if (presentFieldNames.has(OTHER_TEXT_FIELD) && classification === OTHER_CLASSIFICATION_OPTION) {\n pushField('otherText', text('otherText'))\n }\n\n if (presentFieldNames.has('foreignPartners')) {\n fields.push({\n key: W9_FIELD_API_KEYS.foreignPartners,\n value: values.foreignPartners ? '1' : '0',\n })\n }\n\n // A redacted field left untouched is omitted so the masked value isn't sent\n // back as a replacement; the server keeps the value already on file.\n const ssnValue = text('ssn')\n const einValue = text('ein')\n if (presentFieldNames.has('ssn') && !(redaction.ssnRedacted && ssnValue === '')) {\n pushField('ssn', ssnValue)\n }\n if (presentFieldNames.has('ein') && !(redaction.einRedacted && einValue === '')) {\n pushField('ein', einValue)\n }\n\n if (classification) {\n fields.push({ key: classification, value: '1' })\n if (classification === LLC_CLASSIFICATION_OPTION) {\n fields.push({ key: 'tax_classification', value: text('llcClassificationCode') })\n }\n }\n\n return fields\n}\n"],"names":["NOT_APPLICABLE_VALUE","normalizeEinOrNotApplicable","value","sentinel","normalizeEin","normalizeSsnOrNotApplicable","normalizeSSN","TAX_CLASSIFICATION_FIELD","LLC_CLASSIFICATION_FIELD","OTHER_TEXT_FIELD","TAX_CLASSIFICATION_OPTION_KEYS","LLC_CLASSIFICATION_OPTION","OTHER_CLASSIFICATION_OPTION","LLC_CLASSIFICATION_CODES","W9_FIELD_API_KEYS","SENSITIVE_FIELD_KEYS","isMaskedValue","hasRedactedValue","field","indexFields","document","byKey","toBoolean","getRedactionState","ssnField","einField","ssnRedacted","einRedacted","getPresentFieldNames","presentFieldNames","fieldName","apiKey","key","buildW9Defaults","redaction","textValue","selectedClassification","EMPTY_W9_DEFAULTS","TEXT_PASS_THROUGH_FIELDS","serializeW9Fields","values","fields","raw","text","name","classification","pushField","ssnValue","einValue"],"mappings":"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"}
1
+ {"version":3,"file":"w9Fields.js","sources":["../../../../../../src/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.ts"],"sourcesContent":["import type {\n Document,\n Fields as DocumentField,\n} from '@gusto/embedded-api/models/components/document'\nimport type { ContractorSignatureFormData } from './contractorSignatureFormSchema'\nimport { normalizeEin } from '@/helpers/federalEin'\nimport { normalizeSSN } from '@/helpers/ssn'\n\n/**\n * The `name` of the W-9 document — the only contractor document type that\n * supports signing today.\n *\n * @internal\n */\nexport const W9_DOCUMENT_NAME = 'taxpayer_identification_form_w_9'\n\n/**\n * Sentinel the API returns (and accepts) for a taxpayer-ID field that doesn't\n * apply to the signer — e.g. the EIN of an individual contractor, or the SSN of\n * a business contractor. The sign endpoint stamps this verbatim, so the form\n * both prefills it and treats it as a valid submission.\n *\n * @internal\n */\nexport const NOT_APPLICABLE_VALUE = 'N/A'\n\n/**\n * EIN input transform that preserves the `N/A` sentinel (and the in-progress\n * prefixes a user types toward it) while formatting numeric input as a standard\n * EIN (`NN-NNNNNNN`).\n *\n * @remarks\n * The W-9 accepts `N/A` for a taxpayer who supplies an SSN instead of an EIN,\n * but the plain `normalizeEin` formatter strips every non-digit on each\n * keystroke — making the sentinel impossible to type. This wrapper lets the\n * sentinel through (normalized to uppercase) and defers to `normalizeEin` for\n * everything else.\n *\n * @param value - Raw user input.\n * @returns The `N/A` sentinel (or an in-progress prefix), otherwise the EIN-formatted value.\n * @internal\n */\nexport function normalizeEinOrNotApplicable(value: string): string {\n const sentinel = value.replace(/\\s/g, '').toUpperCase()\n if (sentinel === 'NA') return NOT_APPLICABLE_VALUE\n if (sentinel === 'N' || sentinel === 'N/' || sentinel === NOT_APPLICABLE_VALUE) return sentinel\n return normalizeEin(value)\n}\n\n/**\n * SSN input transform that preserves the `N/A` sentinel (and the in-progress\n * prefixes `N` and `N/`) while otherwise deferring to {@link normalizeSSN}.\n *\n * @remarks\n * The W-9 accepts `N/A` for a taxpayer who supplies an EIN instead of an SSN,\n * but the plain `normalizeSSN` formatter strips every non-digit on each\n * keystroke — making the sentinel impossible to type. This wrapper lets the\n * sentinel through (normalized to uppercase) and defers to `normalizeSSN` for\n * everything else.\n *\n * @param value - Raw user input.\n * @returns The `N/A` sentinel (or an in-progress prefix), otherwise the SSN-formatted value.\n * @internal\n */\nexport function normalizeSsnOrNotApplicable(value: string): string {\n const sentinel = value.replace(/\\s/g, '').toUpperCase()\n if (sentinel === 'NA') return NOT_APPLICABLE_VALUE\n if (sentinel === 'N' || sentinel === 'N/' || sentinel === NOT_APPLICABLE_VALUE) return sentinel\n return normalizeSSN(value)\n}\n\n/**\n * Form-field name for the synthesized federal tax classification radio group.\n *\n * @internal\n */\nexport const TAX_CLASSIFICATION_FIELD = 'taxClassification'\n\n/**\n * Form-field name for the synthesized LLC tax classification code select.\n *\n * @internal\n */\nexport const LLC_CLASSIFICATION_FIELD = 'llcClassificationCode'\n\n/**\n * Form-field name for the \"Other\" free-text classification field.\n *\n * @internal\n */\nexport const OTHER_TEXT_FIELD = 'otherText'\n\n/**\n * Ordered classification option keys backing the {@link TAX_CLASSIFICATION_FIELD}\n * radio group. Each maps to a W-9 checkbox field on the underlying document.\n *\n * @internal\n */\nexport const TAX_CLASSIFICATION_OPTION_KEYS = [\n 'individual_proprietor',\n 'c_corporation',\n 's_corporation',\n 'partnership',\n 'trust_estate',\n 'limited_liability_company',\n 'other',\n] as const\n\n/**\n * A single federal tax classification option key.\n *\n * @internal\n */\nexport type TaxClassificationOptionKey = (typeof TAX_CLASSIFICATION_OPTION_KEYS)[number]\n\n/**\n * The classification option that reveals the LLC tax classification select.\n *\n * @internal\n */\nexport const LLC_CLASSIFICATION_OPTION: TaxClassificationOptionKey = 'limited_liability_company'\n\n/**\n * The classification option that reveals the \"Other\" free-text field.\n *\n * @internal\n */\nexport const OTHER_CLASSIFICATION_OPTION: TaxClassificationOptionKey = 'other'\n\n/**\n * Ordered LLC tax classification code options.\n *\n * @internal\n */\nexport const LLC_CLASSIFICATION_CODES = ['c', 's', 'p'] as const\n\n/**\n * Maps each pass-through {@link ContractorSignatureFormData} field to its W-9\n * API field key. Synthesized fields (`taxClassification`,\n * `llcClassificationCode`) and `agree` are intentionally absent.\n *\n * @internal\n */\nexport const W9_FIELD_API_KEYS = {\n name: 'name',\n businessName: 'business_name',\n otherText: 'other_text',\n foreignPartners: 'foreign_partners',\n exemptPayeeCode: 'exempt_payee_code',\n exemptionFromFatca: 'exemption_from_FATCA',\n homeAddressStreet1: 'home_address_street_1',\n homeAddressStreet2: 'home_address_street_2',\n homeAddressCity: 'home_address_city',\n homeAddressState: 'home_address_state',\n homeAddressZip: 'home_address_zip',\n accountNumber: 'account_number',\n companyName: 'company_name',\n ssn: 'ssn',\n ein: 'ein',\n signatureText: 'signature_text',\n} as const satisfies Record<string, string>\n\n/** A pass-through W-9 field name (one with a single backing API key). */\ntype PassThroughFieldName = keyof typeof W9_FIELD_API_KEYS\n\n/** API field keys whose values are sensitive and arrive masked when on file. */\nconst SENSITIVE_FIELD_KEYS = new Set(['ssn', 'ein'])\n\n/** Whether a value is a server-side mask (e.g. `XXX-XX-1111`) rather than real input. */\nfunction isMaskedValue(value: string | null | undefined): boolean {\n return typeof value === 'string' && /[X•*]/.test(value)\n}\n\n/** Whether a document field carries a redacted (masked) sensitive value. */\nfunction hasRedactedValue(field: DocumentField | undefined): boolean {\n if (!field) return false\n const isSensitive =\n SENSITIVE_FIELD_KEYS.has(field.key ?? '') ||\n field.dataType === 'ssn' ||\n field.dataType === 'ein'\n return isSensitive && isMaskedValue(field.value)\n}\n\nfunction indexFields(document: Document): Map<string, DocumentField> {\n const byKey = new Map<string, DocumentField>()\n for (const field of document.fields ?? []) {\n if (field.key) byKey.set(field.key, field)\n }\n return byKey\n}\n\n/** Coerces an API checkbox value (`'1'`, `'true'`) to a boolean. */\nfunction toBoolean(value: string | null | undefined): boolean {\n return value === '1' || value === 'true'\n}\n\n/**\n * Whether the document is a W-9 (the only signable contractor document type).\n *\n * @internal\n */\nexport function isW9Document(document: Document): boolean {\n return document.name === W9_DOCUMENT_NAME\n}\n\n/**\n * Redaction state for the sensitive W-9 fields, derived from the API response.\n *\n * @internal\n */\nexport interface W9RedactionState {\n /** Whether the API returned a masked SSN value. */\n ssnRedacted: boolean\n /** Whether the API returned a masked EIN value. */\n einRedacted: boolean\n /** The masked SSN to surface as a placeholder, when redacted. */\n ssnPlaceholder?: string\n /** The masked EIN to surface as a placeholder, when redacted. */\n einPlaceholder?: string\n}\n\n/**\n * Computes the redaction state of the SSN/EIN fields from the document.\n *\n * @param document - The W-9 document returned by the API.\n * @returns The redaction flags and masked placeholders.\n * @internal\n */\nexport function getRedactionState(document: Document): W9RedactionState {\n const byKey = indexFields(document)\n const ssnField = byKey.get('ssn')\n const einField = byKey.get('ein')\n const ssnRedacted = hasRedactedValue(ssnField)\n const einRedacted = hasRedactedValue(einField)\n return {\n ssnRedacted,\n einRedacted,\n ssnPlaceholder: ssnRedacted ? (ssnField?.value ?? undefined) : undefined,\n einPlaceholder: einRedacted ? (einField?.value ?? undefined) : undefined,\n }\n}\n\n/**\n * Computes which W-9 form fields the API actually returned — the safety check\n * that drives presence-gating in {@link useContractorSignatureForm}.\n *\n * @remarks\n * A pass-through field is present when its API key is in `document.fields`. The\n * synthesized classification fields (`taxClassification`,\n * `llcClassificationCode`) are present when the document carries any of the\n * federal tax classification checkbox fields.\n *\n * @param document - The W-9 document returned by the API.\n * @returns The set of present camelCase field names.\n * @internal\n */\nexport function getPresentFieldNames(document: Document): Set<string> {\n const byKey = indexFields(document)\n const presentFieldNames = new Set<string>()\n\n for (const [fieldName, apiKey] of Object.entries(W9_FIELD_API_KEYS)) {\n if (byKey.has(apiKey)) presentFieldNames.add(fieldName)\n }\n\n const hasClassification = TAX_CLASSIFICATION_OPTION_KEYS.some(key => byKey.has(key))\n if (hasClassification) {\n presentFieldNames.add(TAX_CLASSIFICATION_FIELD)\n presentFieldNames.add(LLC_CLASSIFICATION_FIELD)\n }\n\n return presentFieldNames\n}\n\n/**\n * Builds default form values from a document's fields.\n *\n * @remarks\n * Pass-through values are seeded from the API `value`. The classification radio\n * defaults to whichever classification checkbox is already set (`'1'`/`'true'`),\n * and when that is the LLC classification the LLC code select is seeded from the\n * `tax_classification` field it serializes into. A masked SSN/EIN seeds an empty\n * input (the mask is surfaced as a placeholder instead) so it is never echoed\n * back as the new value on submit.\n *\n * @param document - The W-9 document returned by the API.\n * @returns The default form values.\n * @internal\n */\nexport function buildW9Defaults(document: Document): ContractorSignatureFormData {\n const byKey = indexFields(document)\n const redaction = getRedactionState(document)\n const textValue = (apiKey: string): string => byKey.get(apiKey)?.value ?? ''\n const selectedClassification =\n TAX_CLASSIFICATION_OPTION_KEYS.find(key => toBoolean(byKey.get(key)?.value)) ?? ''\n\n return {\n name: textValue('name'),\n businessName: textValue('business_name'),\n taxClassification: selectedClassification,\n // The LLC code serializes into the `tax_classification` field, so seed it\n // back from there when the LLC classification is the selected one.\n llcClassificationCode:\n selectedClassification === LLC_CLASSIFICATION_OPTION ? textValue('tax_classification') : '',\n otherText: textValue('other_text'),\n foreignPartners: toBoolean(byKey.get('foreign_partners')?.value),\n exemptPayeeCode: textValue('exempt_payee_code'),\n exemptionFromFatca: textValue('exemption_from_FATCA'),\n homeAddressStreet1: textValue('home_address_street_1'),\n homeAddressStreet2: textValue('home_address_street_2'),\n homeAddressCity: textValue('home_address_city'),\n homeAddressState: textValue('home_address_state'),\n homeAddressZip: textValue('home_address_zip'),\n accountNumber: textValue('account_number'),\n companyName: textValue('company_name'),\n ssn: redaction.ssnRedacted ? '' : textValue('ssn'),\n ein: redaction.einRedacted ? '' : textValue('ein'),\n signatureText: textValue('signature_text'),\n agree: false,\n }\n}\n\n/**\n * The empty default form values, used while the document is still loading.\n *\n * @internal\n */\nexport const EMPTY_W9_DEFAULTS: ContractorSignatureFormData = {\n name: '',\n businessName: '',\n taxClassification: '',\n llcClassificationCode: '',\n otherText: '',\n foreignPartners: false,\n exemptPayeeCode: '',\n exemptionFromFatca: '',\n homeAddressStreet1: '',\n homeAddressStreet2: '',\n homeAddressCity: '',\n homeAddressState: '',\n homeAddressZip: '',\n accountNumber: '',\n companyName: '',\n ssn: '',\n ein: '',\n signatureText: '',\n agree: false,\n}\n\n/**\n * A single `{ key, value }` pair sent in the sign request.\n *\n * @internal\n */\nexport interface SignFieldValue {\n /** The API field key. */\n key: string\n /** The serialized field value. */\n value: string\n}\n\n/** Pass-through text fields serialized verbatim (everything except the checkbox and TIN fields). */\nconst TEXT_PASS_THROUGH_FIELDS: PassThroughFieldName[] = [\n 'name',\n 'businessName',\n 'exemptPayeeCode',\n 'exemptionFromFatca',\n 'homeAddressStreet1',\n 'homeAddressStreet2',\n 'homeAddressCity',\n 'homeAddressState',\n 'homeAddressZip',\n 'accountNumber',\n 'companyName',\n 'signatureText',\n]\n\n/**\n * Serializes W-9 form values into the `{ key, value }` field array expected by\n * the sign API.\n *\n * @remarks\n * Only fields the API returned (see {@link getPresentFieldNames}) are sent.\n * Applies the W-9 mapping: the chosen classification key is sent with value\n * `'1'`; when the LLC classification is chosen, the selected LLC code is sent\n * under the `tax_classification` key. `foreignPartners` serializes to\n * `'1'`/`'0'`. The `otherText` value is only included for the \"Other\"\n * classification. An untouched redacted SSN/EIN is omitted so the mask is never\n * sent back. The `date` field is intentionally omitted so the API auto-fills the\n * signing date in its own locale-correct format.\n *\n * @param document - The W-9 document being signed.\n * @param values - The validated form values.\n * @param redaction - The redaction state from {@link getRedactionState}.\n * @returns The ordered field array for the sign request body.\n * @internal\n */\nexport function serializeW9Fields(\n document: Document,\n values: ContractorSignatureFormData,\n redaction: W9RedactionState,\n): SignFieldValue[] {\n const presentFieldNames = getPresentFieldNames(document)\n const fields: SignFieldValue[] = []\n // The schema preprocesses empty inputs to `undefined`, so read through an\n // `unknown` view and coalesce missing values to an empty string.\n const raw = values as Record<string, unknown>\n const text = (name: string): string => {\n const value = raw[name]\n return typeof value === 'string' ? value : ''\n }\n const classification = text('taxClassification')\n\n const pushField = (fieldName: PassThroughFieldName, value: string) => {\n fields.push({ key: W9_FIELD_API_KEYS[fieldName], value })\n }\n\n for (const fieldName of TEXT_PASS_THROUGH_FIELDS) {\n if (!presentFieldNames.has(fieldName)) continue\n pushField(fieldName, text(fieldName))\n }\n\n if (presentFieldNames.has(OTHER_TEXT_FIELD) && classification === OTHER_CLASSIFICATION_OPTION) {\n pushField('otherText', text('otherText'))\n }\n\n if (presentFieldNames.has('foreignPartners')) {\n fields.push({\n key: W9_FIELD_API_KEYS.foreignPartners,\n value: values.foreignPartners ? '1' : '0',\n })\n }\n\n // A redacted field left untouched is omitted so the masked value isn't sent\n // back as a replacement; the server keeps the value already on file.\n const ssnValue = text('ssn')\n const einValue = text('ein')\n if (presentFieldNames.has('ssn') && !(redaction.ssnRedacted && ssnValue === '')) {\n pushField('ssn', ssnValue)\n }\n if (presentFieldNames.has('ein') && !(redaction.einRedacted && einValue === '')) {\n pushField('ein', einValue)\n }\n\n if (classification) {\n fields.push({ key: classification, value: '1' })\n if (classification === LLC_CLASSIFICATION_OPTION) {\n fields.push({ key: 'tax_classification', value: text('llcClassificationCode') })\n }\n }\n\n return fields\n}\n"],"names":["W9_DOCUMENT_NAME","NOT_APPLICABLE_VALUE","normalizeEinOrNotApplicable","value","sentinel","normalizeEin","normalizeSsnOrNotApplicable","normalizeSSN","TAX_CLASSIFICATION_FIELD","LLC_CLASSIFICATION_FIELD","OTHER_TEXT_FIELD","TAX_CLASSIFICATION_OPTION_KEYS","LLC_CLASSIFICATION_OPTION","OTHER_CLASSIFICATION_OPTION","LLC_CLASSIFICATION_CODES","W9_FIELD_API_KEYS","SENSITIVE_FIELD_KEYS","isMaskedValue","hasRedactedValue","field","indexFields","document","byKey","toBoolean","getRedactionState","ssnField","einField","ssnRedacted","einRedacted","getPresentFieldNames","presentFieldNames","fieldName","apiKey","key","buildW9Defaults","redaction","textValue","selectedClassification","EMPTY_W9_DEFAULTS","TEXT_PASS_THROUGH_FIELDS","serializeW9Fields","values","fields","raw","text","name","classification","pushField","ssnValue","einValue"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
2
2
  import { useTranslation as h } from "react-i18next";
3
- import { useContractorsGetSuspense as g } from "@gusto/embedded-api-v-2026-02-01/react-query/contractorsGet";
4
- import { useCompaniesGetSuspense as C } from "@gusto/embedded-api-v-2026-02-01/react-query/companiesGet";
3
+ import { useContractorsGetSuspense as g } from "@gusto/embedded-api/react-query/contractorsGet";
4
+ import { useCompaniesGetSuspense as C } from "@gusto/embedded-api/react-query/companiesGet";
5
5
  import c from "dompurify";
6
6
  import { useMemo as m } from "react";
7
7
  import { BaseComponent as x } from "../../Base/Base.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Landing.js","sources":["../../../../src/components/Contractor/Landing/Landing.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api-v-2026-02-01/react-query/contractorsGet'\nimport { useCompaniesGetSuspense } from '@gusto/embedded-api-v-2026-02-01/react-query/companiesGet'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport ArrowRightIcon from '@/assets/icons/icon-arrow-right.svg?react'\n\n/**\n * Props for the {@link Landing} component.\n *\n * @public\n */\nexport interface LandingProps extends BaseComponentInterface<'Contractor.Landing'> {\n /** UUID of the contractor entering the self-onboarding flow. */\n contractorId: string\n /** UUID of the company the contractor belongs to. */\n companyId: string\n}\n\n/**\n * Landing page for the contractor self-onboarding flow. Displays a welcome\n * message and the list of onboarding steps the contractor needs to complete.\n *\n * @public\n */\nexport function Landing(props: LandingProps) {\n useI18n('Contractor.Landing')\n useComponentDictionary('Contractor.Landing', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ contractorId, companyId, className }: LandingProps) => {\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const { t } = useTranslation('Contractor.Landing')\n\n const {\n data: { contractor },\n } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const sanitizedContractorName = useMemo(\n () =>\n DOMPurify.sanitize(contractor?.firstName ?? contractor?.businessName ?? t('fallbackName')),\n [contractor, t],\n )\n\n const {\n data: { company },\n } = useCompaniesGetSuspense({ companyId })\n const sanitizedCompanyName = useMemo(() => DOMPurify.sanitize(company?.name ?? ''), [company])\n\n return (\n <section className={className}>\n <Components.Box\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.CONTRACTOR_SELF_ONBOARDING_START)\n }}\n >\n {t('getStartedCta')}\n <ArrowRightIcon aria-hidden />\n </Components.Button>\n </ActionsLayout>\n }\n >\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('landingSubtitle', {\n contractorName: sanitizedContractorName,\n companyName: sanitizedCompanyName,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('landingDescription')}</Components.Text>\n </Flex>\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h3\">{t('stepsSubtitle')}</Components.Heading>\n <Components.UnorderedList\n items={[\n t('steps.profile'),\n t('steps.address'),\n t('steps.paymentMethod'),\n t('steps.documents'),\n ]}\n />\n </Flex>\n </Flex>\n </Components.Box>\n </section>\n )\n}\n"],"names":["Landing","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","contractorId","companyId","className","onEvent","useBase","Components","useComponentContext","useTranslation","contractor","useContractorsGetSuspense","sanitizedContractorName","useMemo","DOMPurify","company","useCompaniesGetSuspense","sanitizedCompanyName","ActionsLayout","jsxs","componentEvents","ArrowRightIcon","Flex"],"mappings":";;;;;;;;;;;;;;AA+BO,SAASA,EAAQC,GAAqB;AAC3C,SAAAC,EAAQ,oBAAoB,GAC5BC,EAAuB,sBAAsBF,EAAM,UAAU,GAG3D,gBAAAG,EAACC,GAAA,EAAe,GAAGJ,GACjB,UAAA,gBAAAG,EAACE,KAAM,GAAGL,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMK,IAAO,CAAC,EAAE,cAAAC,GAAc,WAAAC,GAAW,WAAAC,QAA8B;AACrE,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAaC,EAAA,GAEb,EAAE,EAAA,IAAMC,EAAe,oBAAoB,GAE3C;AAAA,IACJ,MAAM,EAAE,YAAAC,EAAA;AAAA,EAAW,IACjBC,EAA0B,EAAE,gBAAgBT,GAAc,GACxDU,IAA0BC;AAAA,IAC9B,MACEC,EAAU,SAASJ,GAAY,aAAaA,GAAY,gBAAgB,EAAE,cAAc,CAAC;AAAA,IAC3F,CAACA,GAAY,CAAC;AAAA,EAAA,GAGV;AAAA,IACJ,MAAM,EAAE,SAAAK,EAAA;AAAA,EAAQ,IACdC,EAAwB,EAAE,WAAAb,GAAW,GACnCc,IAAuBJ,EAAQ,MAAMC,EAAU,SAASC,GAAS,QAAQ,EAAE,GAAG,CAACA,CAAO,CAAC;AAE7F,SACE,gBAAAhB,EAAC,aAAQ,WAAAK,GACP,UAAA,gBAAAL;AAAA,IAACQ,EAAW;AAAA,IAAX;AAAA,MACC,0BACGW,GAAA,EACC,UAAA,gBAAAC;AAAA,QAACZ,EAAW;AAAA,QAAX;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAM;AACb,YAAAF,EAAQe,EAAgB,gCAAgC;AAAA,UAC1D;AAAA,UAEC,UAAA;AAAA,YAAA,EAAE,eAAe;AAAA,YAClB,gBAAArB,EAACsB,GAAA,EAAe,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,GAEhC;AAAA,MAGF,4BAACC,GAAA,EAAK,YAAW,UAAS,eAAc,UAAS,KAAK,IACpD,UAAA;AAAA,QAAA,gBAAAH,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAvB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MACpB,YAAE,mBAAmB;AAAA,YACpB,gBAAgBK;AAAA,YAChB,aAAaK;AAAA,YACb,eAAe,EAAE,aAAa,GAAA;AAAA,UAAM,CACrC,GACH;AAAA,UACA,gBAAAlB,EAACQ,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAA,EAAE,oBAAoB,EAAA,CAAE;AAAA,QAAA,GACjE;AAAA,QACA,gBAAAY,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAvB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,eAAe,GAAE;AAAA,UAChD,gBAAAR;AAAA,YAACQ,EAAW;AAAA,YAAX;AAAA,cACC,OAAO;AAAA,gBACL,EAAE,eAAe;AAAA,gBACjB,EAAE,eAAe;AAAA,gBACjB,EAAE,qBAAqB;AAAA,gBACvB,EAAE,iBAAiB;AAAA,cAAA;AAAA,YACrB;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"Landing.js","sources":["../../../../src/components/Contractor/Landing/Landing.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useCompaniesGetSuspense } from '@gusto/embedded-api/react-query/companiesGet'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport ArrowRightIcon from '@/assets/icons/icon-arrow-right.svg?react'\n\n/**\n * Props for the {@link Landing} component.\n *\n * @public\n */\nexport interface LandingProps extends BaseComponentInterface<'Contractor.Landing'> {\n /** UUID of the contractor entering the self-onboarding flow. */\n contractorId: string\n /** UUID of the company the contractor belongs to. */\n companyId: string\n}\n\n/**\n * Landing page for the contractor self-onboarding flow. Displays a welcome\n * message and the list of onboarding steps the contractor needs to complete.\n *\n * @public\n */\nexport function Landing(props: LandingProps) {\n useI18n('Contractor.Landing')\n useComponentDictionary('Contractor.Landing', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ contractorId, companyId, className }: LandingProps) => {\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const { t } = useTranslation('Contractor.Landing')\n\n const {\n data: { contractor },\n } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const sanitizedContractorName = useMemo(\n () =>\n DOMPurify.sanitize(contractor?.firstName ?? contractor?.businessName ?? t('fallbackName')),\n [contractor, t],\n )\n\n const {\n data: { company },\n } = useCompaniesGetSuspense({ companyId })\n const sanitizedCompanyName = useMemo(() => DOMPurify.sanitize(company?.name ?? ''), [company])\n\n return (\n <section className={className}>\n <Components.Box\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.CONTRACTOR_SELF_ONBOARDING_START)\n }}\n >\n {t('getStartedCta')}\n <ArrowRightIcon aria-hidden />\n </Components.Button>\n </ActionsLayout>\n }\n >\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('landingSubtitle', {\n contractorName: sanitizedContractorName,\n companyName: sanitizedCompanyName,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('landingDescription')}</Components.Text>\n </Flex>\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h3\">{t('stepsSubtitle')}</Components.Heading>\n <Components.UnorderedList\n items={[\n t('steps.profile'),\n t('steps.address'),\n t('steps.paymentMethod'),\n t('steps.documents'),\n ]}\n />\n </Flex>\n </Flex>\n </Components.Box>\n </section>\n )\n}\n"],"names":["Landing","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","contractorId","companyId","className","onEvent","useBase","Components","useComponentContext","useTranslation","contractor","useContractorsGetSuspense","sanitizedContractorName","useMemo","DOMPurify","company","useCompaniesGetSuspense","sanitizedCompanyName","ActionsLayout","jsxs","componentEvents","ArrowRightIcon","Flex"],"mappings":";;;;;;;;;;;;;;AA+BO,SAASA,EAAQC,GAAqB;AAC3C,SAAAC,EAAQ,oBAAoB,GAC5BC,EAAuB,sBAAsBF,EAAM,UAAU,GAG3D,gBAAAG,EAACC,GAAA,EAAe,GAAGJ,GACjB,UAAA,gBAAAG,EAACE,KAAM,GAAGL,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMK,IAAO,CAAC,EAAE,cAAAC,GAAc,WAAAC,GAAW,WAAAC,QAA8B;AACrE,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAaC,EAAA,GAEb,EAAE,EAAA,IAAMC,EAAe,oBAAoB,GAE3C;AAAA,IACJ,MAAM,EAAE,YAAAC,EAAA;AAAA,EAAW,IACjBC,EAA0B,EAAE,gBAAgBT,GAAc,GACxDU,IAA0BC;AAAA,IAC9B,MACEC,EAAU,SAASJ,GAAY,aAAaA,GAAY,gBAAgB,EAAE,cAAc,CAAC;AAAA,IAC3F,CAACA,GAAY,CAAC;AAAA,EAAA,GAGV;AAAA,IACJ,MAAM,EAAE,SAAAK,EAAA;AAAA,EAAQ,IACdC,EAAwB,EAAE,WAAAb,GAAW,GACnCc,IAAuBJ,EAAQ,MAAMC,EAAU,SAASC,GAAS,QAAQ,EAAE,GAAG,CAACA,CAAO,CAAC;AAE7F,SACE,gBAAAhB,EAAC,aAAQ,WAAAK,GACP,UAAA,gBAAAL;AAAA,IAACQ,EAAW;AAAA,IAAX;AAAA,MACC,0BACGW,GAAA,EACC,UAAA,gBAAAC;AAAA,QAACZ,EAAW;AAAA,QAAX;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAM;AACb,YAAAF,EAAQe,EAAgB,gCAAgC;AAAA,UAC1D;AAAA,UAEC,UAAA;AAAA,YAAA,EAAE,eAAe;AAAA,YAClB,gBAAArB,EAACsB,GAAA,EAAe,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,GAEhC;AAAA,MAGF,4BAACC,GAAA,EAAK,YAAW,UAAS,eAAc,UAAS,KAAK,IACpD,UAAA;AAAA,QAAA,gBAAAH,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAvB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MACpB,YAAE,mBAAmB;AAAA,YACpB,gBAAgBK;AAAA,YAChB,aAAaK;AAAA,YACb,eAAe,EAAE,aAAa,GAAA;AAAA,UAAM,CACrC,GACH;AAAA,UACA,gBAAAlB,EAACQ,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAA,EAAE,oBAAoB,EAAA,CAAE;AAAA,QAAA,GACjE;AAAA,QACA,gBAAAY,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAvB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,eAAe,GAAE;AAAA,UAChD,gBAAAR;AAAA,YAACQ,EAAW;AAAA,YAAX;AAAA,cACC,OAAO;AAAA,gBACL,EAAE,eAAe;AAAA,gBACjB,EAAE,eAAe;AAAA,gBACjB,EAAE,qBAAqB;AAAA,gBACvB,EAAE,iBAAiB;AAAA,cAAA;AAAA,YACrB;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -4,8 +4,8 @@ import { useForm as T, useWatch as y, FormProvider as g } from "react-hook-form"
4
4
  import { useMemo as D } from "react";
5
5
  import r from "zod";
6
6
  import { zodResolver as O } from "@hookform/resolvers/zod";
7
- import { useContractorsGetSuspense as _ } from "@gusto/embedded-api-v-2026-02-01/react-query/contractorsGet";
8
- import { useContractorsUpdateMutation as x } from "@gusto/embedded-api-v-2026-02-01/react-query/contractorsUpdate";
7
+ import { useContractorsGetSuspense as _ } from "@gusto/embedded-api/react-query/contractorsGet";
8
+ import { useContractorsUpdateMutation as x } from "@gusto/embedded-api/react-query/contractorsUpdate";
9
9
  import { useComponentDictionary as F, useI18n as P } from "../../../i18n/I18n.js";
10
10
  import { BaseComponent as A } from "../../Base/Base.js";
11
11
  import { useBase as B } from "../../Base/useBase.js";
@@ -1 +1 @@
1
- {"version":3,"file":"NewHireReport.js","sources":["../../../../src/components/Contractor/NewHireReport/NewHireReport.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useMemo } from 'react'\nimport z from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api-v-2026-02-01/react-query/contractorsGet'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api-v-2026-02-01/react-query/contractorsUpdate'\nimport type { NewHireReportProps } from './types'\nimport { useI18n } from '@/i18n'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { componentEvents, STATES_ABBR } from '@/shared/constants'\nimport { ActionsLayout } from '@/components/Common/ActionsLayout'\nimport { Flex, RadioGroupField, SelectField } from '@/components/Common'\n\nconst NewHireReportSchema = z.union([\n z.object({\n fileNewHireReport: z.boolean().refine(v => v),\n state: z.string().min(1),\n }),\n z.object({\n fileNewHireReport: z.boolean().refine(v => !v),\n }),\n])\n\ntype NewHireReportSchemaInputs = z.input<typeof NewHireReportSchema>\n\n/**\n * Collects new hire reporting information for a contractor and persists it to the contractor record.\n *\n * Asks whether a new hire report should be filed and, when the answer is yes, captures the\n * work state used for filing. Submitting writes both values back to the contractor.\n *\n * @remarks\n * Set `selfOnboarding` to `true` when this component is rendered as part of the contractor's\n * own self-onboarding flow rather than admin onboarding.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/newHireReport/updated` | Fired when the new hire report is saved | The API response object; access the updated contractor at `.contractor` |\n * | `contractor/newHireReport/done` | Fired after the new hire report step completes | — |\n *\n * @param props - Component configuration; see {@link NewHireReportProps}.\n * @returns The rendered new hire report form.\n * @public\n *\n * @example\n * ```tsx\n * import { ContractorOnboarding } from '@gusto/embedded-react-sdk'\n *\n * function NewHireReportStep() {\n * return (\n * <ContractorOnboarding.NewHireReport\n * contractorId=\"contractor-uuid\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function NewHireReport(props: NewHireReportProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ contractorId, className, dictionary, selfOnboarding = false }: NewHireReportProps) {\n useComponentDictionary('Contractor.NewHireReport', dictionary)\n useI18n('Contractor.NewHireReport')\n const { t } = useTranslation('Contractor.NewHireReport')\n const { onEvent, baseSubmitHandler } = useBase()\n const Components = useComponentContext()\n\n const {\n data: { contractor },\n } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractorDetails = contractor!\n\n const { mutateAsync: updateContractor, isPending: updateContractorPending } =\n useContractorsUpdateMutation()\n\n const defaultValues = useMemo(\n () => ({\n fileNewHireReport: contractorDetails.fileNewHireReport || false,\n state: contractorDetails.workState || null,\n }),\n [contractorDetails],\n )\n\n const formMethods = useForm({\n resolver: zodResolver(NewHireReportSchema),\n defaultValues: defaultValues,\n })\n\n const watchedDoFile = useWatch({ control: formMethods.control, name: 'fileNewHireReport' })\n const onSubmit: SubmitHandler<NewHireReportSchemaInputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const contractorResponse = await updateContractor({\n request: {\n contractorUuid: contractorId,\n contractorUpdateRequestBody: {\n type: contractorDetails.type,\n selfOnboarding: selfOnboarding,\n fileNewHireReport: payload.fileNewHireReport,\n workState: 'state' in payload ? payload.state : null,\n version: contractorDetails.version!,\n },\n },\n })\n onEvent(componentEvents.CONTRACTOR_NEW_HIRE_REPORT_UPDATED, contractorResponse)\n onEvent(componentEvents.CONTRACTOR_NEW_HIRE_REPORT_DONE)\n })\n }\n\n return (\n <section className={className}>\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" alignItems=\"stretch\">\n <header>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Text variant=\"supporting\">{t('description')}</Components.Text>\n </Flex>\n </header>\n <RadioGroupField\n name=\"fileNewHireReport\"\n label={t('doFileLegend')}\n shouldVisuallyHideLabel\n options={[\n {\n value: true,\n label: t('yesOption'),\n },\n {\n value: false,\n label: t('noOption'),\n },\n ]}\n />\n {watchedDoFile && (\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('stateSelectionLabel')}\n placeholder={t('statePlaceholder')}\n errorMessage={t('validations.state')}\n isRequired\n />\n )}\n <ActionsLayout>\n <Components.Button\n type=\"submit\"\n variant=\"primary\"\n isDisabled={updateContractorPending}\n >\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </FormProvider>\n </section>\n )\n}\n"],"names":["NewHireReportSchema","z","v","NewHireReport","props","jsx","BaseComponent","Root","contractorId","className","dictionary","selfOnboarding","useComponentDictionary","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","Components","useComponentContext","contractor","useContractorsGetSuspense","contractorDetails","updateContractor","updateContractorPending","useContractorsUpdateMutation","defaultValues","useMemo","formMethods","useForm","zodResolver","watchedDoFile","useWatch","onSubmit","data","payload","contractorResponse","componentEvents","FormProvider","Form","jsxs","Flex","RadioGroupField","SelectField","STATES_ABBR","stateAbbr","ActionsLayout"],"mappings":"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"}
1
+ {"version":3,"file":"NewHireReport.js","sources":["../../../../src/components/Contractor/NewHireReport/NewHireReport.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useMemo } from 'react'\nimport z from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api/react-query/contractorsUpdate'\nimport type { NewHireReportProps } from './types'\nimport { useI18n } from '@/i18n'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { componentEvents, STATES_ABBR } from '@/shared/constants'\nimport { ActionsLayout } from '@/components/Common/ActionsLayout'\nimport { Flex, RadioGroupField, SelectField } from '@/components/Common'\n\nconst NewHireReportSchema = z.union([\n z.object({\n fileNewHireReport: z.boolean().refine(v => v),\n state: z.string().min(1),\n }),\n z.object({\n fileNewHireReport: z.boolean().refine(v => !v),\n }),\n])\n\ntype NewHireReportSchemaInputs = z.input<typeof NewHireReportSchema>\n\n/**\n * Collects new hire reporting information for a contractor and persists it to the contractor record.\n *\n * Asks whether a new hire report should be filed and, when the answer is yes, captures the\n * work state used for filing. Submitting writes both values back to the contractor.\n *\n * @remarks\n * Set `selfOnboarding` to `true` when this component is rendered as part of the contractor's\n * own self-onboarding flow rather than admin onboarding.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/newHireReport/updated` | Fired when the new hire report is saved | The API response object; access the updated contractor at `.contractor` |\n * | `contractor/newHireReport/done` | Fired after the new hire report step completes | — |\n *\n * @param props - Component configuration; see {@link NewHireReportProps}.\n * @returns The rendered new hire report form.\n * @public\n *\n * @example\n * ```tsx\n * import { ContractorOnboarding } from '@gusto/embedded-react-sdk'\n *\n * function NewHireReportStep() {\n * return (\n * <ContractorOnboarding.NewHireReport\n * contractorId=\"contractor-uuid\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function NewHireReport(props: NewHireReportProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ contractorId, className, dictionary, selfOnboarding = false }: NewHireReportProps) {\n useComponentDictionary('Contractor.NewHireReport', dictionary)\n useI18n('Contractor.NewHireReport')\n const { t } = useTranslation('Contractor.NewHireReport')\n const { onEvent, baseSubmitHandler } = useBase()\n const Components = useComponentContext()\n\n const {\n data: { contractor },\n } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractorDetails = contractor!\n\n const { mutateAsync: updateContractor, isPending: updateContractorPending } =\n useContractorsUpdateMutation()\n\n const defaultValues = useMemo(\n () => ({\n fileNewHireReport: contractorDetails.fileNewHireReport || false,\n state: contractorDetails.workState || null,\n }),\n [contractorDetails],\n )\n\n const formMethods = useForm({\n resolver: zodResolver(NewHireReportSchema),\n defaultValues: defaultValues,\n })\n\n const watchedDoFile = useWatch({ control: formMethods.control, name: 'fileNewHireReport' })\n const onSubmit: SubmitHandler<NewHireReportSchemaInputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const contractorResponse = await updateContractor({\n request: {\n contractorUuid: contractorId,\n contractorUpdateRequestBody: {\n type: contractorDetails.type,\n selfOnboarding: selfOnboarding,\n fileNewHireReport: payload.fileNewHireReport,\n workState: 'state' in payload ? payload.state : null,\n version: contractorDetails.version!,\n },\n },\n })\n onEvent(componentEvents.CONTRACTOR_NEW_HIRE_REPORT_UPDATED, contractorResponse)\n onEvent(componentEvents.CONTRACTOR_NEW_HIRE_REPORT_DONE)\n })\n }\n\n return (\n <section className={className}>\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" alignItems=\"stretch\">\n <header>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Text variant=\"supporting\">{t('description')}</Components.Text>\n </Flex>\n </header>\n <RadioGroupField\n name=\"fileNewHireReport\"\n label={t('doFileLegend')}\n shouldVisuallyHideLabel\n options={[\n {\n value: true,\n label: t('yesOption'),\n },\n {\n value: false,\n label: t('noOption'),\n },\n ]}\n />\n {watchedDoFile && (\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('stateSelectionLabel')}\n placeholder={t('statePlaceholder')}\n errorMessage={t('validations.state')}\n isRequired\n />\n )}\n <ActionsLayout>\n <Components.Button\n type=\"submit\"\n variant=\"primary\"\n isDisabled={updateContractorPending}\n >\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </FormProvider>\n </section>\n )\n}\n"],"names":["NewHireReportSchema","z","v","NewHireReport","props","jsx","BaseComponent","Root","contractorId","className","dictionary","selfOnboarding","useComponentDictionary","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","Components","useComponentContext","contractor","useContractorsGetSuspense","contractorDetails","updateContractor","updateContractorPending","useContractorsUpdateMutation","defaultValues","useMemo","formMethods","useForm","zodResolver","watchedDoFile","useWatch","onSubmit","data","payload","contractorResponse","componentEvents","FormProvider","Form","jsxs","Flex","RadioGroupField","SelectField","STATES_ABBR","stateAbbr","ActionsLayout"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ComponentType } from 'react';
2
2
  import { UseFormProps } from 'react-hook-form';
3
- import { ContractorBankAccount } from '@gusto/embedded-api-v-2026-02-01/models/components/contractorbankaccount';
3
+ import { ContractorBankAccount } from '@gusto/embedded-api/models/components/contractorbankaccount';
4
4
  import { ContractorBankAccountFormData, ContractorBankAccountOptionalFieldsToRequire } from './useContractorBankAccountFormSchema';
5
5
  import { AccountNumberFieldProps, AccountTypeFieldProps, NameFieldProps, RoutingNumberFieldProps } from './fields';
6
6
  import { BaseFormHookReady, FieldMetadata, HookLoadingResult, HookSubmitResult } from '../../../../../partner-hook-utils/types';
@@ -1,8 +1,8 @@
1
1
  import { useMemo as f } from "react";
2
2
  import { useForm as v } from "react-hook-form";
3
3
  import { zodResolver as E } from "@hookform/resolvers/zod";
4
- import { useContractorPaymentMethodGetBankAccounts as P } from "@gusto/embedded-api-v-2026-02-01/react-query/contractorPaymentMethodGetBankAccounts";
5
- import { useContractorPaymentMethodsCreateBankAccountMutation as V } from "@gusto/embedded-api-v-2026-02-01/react-query/contractorPaymentMethodsCreateBankAccount";
4
+ import { useContractorPaymentMethodGetBankAccounts as P } from "@gusto/embedded-api/react-query/contractorPaymentMethodGetBankAccounts";
5
+ import { useContractorPaymentMethodsCreateBankAccountMutation as V } from "@gusto/embedded-api/react-query/contractorPaymentMethodsCreateBankAccount";
6
6
  import { createContractorBankAccountSchema as H, ACCOUNT_TYPES as N } from "./useContractorBankAccountFormSchema.js";
7
7
  import { AccountTypeField as L, AccountNumberField as O, RoutingNumberField as R, NameField as U } from "./fields.js";
8
8
  import { useDeriveFieldsMetadata as x } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";