@gusto/embedded-react-sdk 0.48.2 → 0.48.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +33 -2
  3. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  4. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.d.ts +1 -0
  5. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  6. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.d.ts +1 -0
  7. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  8. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +23 -2
  9. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  10. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.d.ts +2 -0
  11. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  12. package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +1 -0
  13. package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.js.map +1 -1
  14. package/dist/components/Company/AssignSignatory/CreateSignatory/index.d.ts +2 -2
  15. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.d.ts +10 -1
  16. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -5
  17. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  18. package/dist/components/Company/AssignSignatory/Head.d.ts +1 -0
  19. package/dist/components/Company/AssignSignatory/Head.js.map +1 -1
  20. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.d.ts +1 -0
  21. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  22. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +24 -2
  23. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  24. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.d.ts +3 -0
  25. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  26. package/dist/components/Company/AssignSignatory/InviteSignatory/index.d.ts +2 -2
  27. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.d.ts +6 -0
  28. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -5
  29. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  30. package/dist/components/Company/AssignSignatory/SignatoryForm.d.ts +1 -0
  31. package/dist/components/Company/AssignSignatory/SignatoryForm.js.map +1 -1
  32. package/dist/components/Company/AssignSignatory/TitleSelect.d.ts +1 -1
  33. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  34. package/dist/components/Company/AssignSignatory/index.d.ts +2 -5
  35. package/dist/components/Company/AssignSignatory/useAssignSignatory.d.ts +9 -0
  36. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -7
  37. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  38. package/dist/components/Company/BankAccount/BankAccount.d.ts +26 -0
  39. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  40. package/dist/components/Company/BankAccount/BankAccountComponents.d.ts +8 -0
  41. package/dist/components/Company/BankAccount/BankAccountComponents.js.map +1 -1
  42. package/dist/components/Company/BankAccount/BankAccountForm/Actions.d.ts +1 -0
  43. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  44. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +1 -0
  45. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
  46. package/dist/components/Company/BankAccount/BankAccountForm/Form.d.ts +3 -0
  47. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  48. package/dist/components/Company/BankAccount/BankAccountForm/Head.d.ts +1 -0
  49. package/dist/components/Company/BankAccount/BankAccountForm/Head.js.map +1 -1
  50. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -5
  51. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  52. package/dist/components/Company/BankAccount/BankAccountList/AccountView.d.ts +1 -0
  53. package/dist/components/Company/BankAccount/BankAccountList/AccountView.js.map +1 -1
  54. package/dist/components/Company/BankAccount/BankAccountList/Actions.d.ts +1 -0
  55. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  56. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +1 -0
  57. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
  58. package/dist/components/Company/BankAccount/BankAccountList/Head.d.ts +1 -0
  59. package/dist/components/Company/BankAccount/BankAccountList/Head.js.map +1 -1
  60. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.d.ts +1 -0
  61. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  62. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +1 -0
  63. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
  64. package/dist/components/Company/BankAccount/BankAccountVerify/Form.d.ts +3 -0
  65. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  66. package/dist/components/Company/BankAccount/BankAccountVerify/Head.d.ts +1 -0
  67. package/dist/components/Company/BankAccount/BankAccountVerify/Head.js.map +1 -1
  68. package/dist/components/Company/BankAccount/stateMachine.d.ts +1 -0
  69. package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
  70. package/dist/components/Company/DocumentSigner/DocumentList/Actions.d.ts +1 -0
  71. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  72. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +21 -0
  73. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  74. package/dist/components/Company/DocumentSigner/DocumentList/Head.d.ts +1 -0
  75. package/dist/components/Company/DocumentSigner/DocumentList/Head.js.map +1 -1
  76. package/dist/components/Company/DocumentSigner/DocumentList/List.d.ts +1 -0
  77. package/dist/components/Company/DocumentSigner/DocumentList/List.js.map +1 -1
  78. package/dist/components/Company/DocumentSigner/DocumentList/ManageSignatories.d.ts +1 -0
  79. package/dist/components/Company/DocumentSigner/DocumentList/ManageSignatories.js.map +1 -1
  80. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -5
  81. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  82. package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +37 -0
  83. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  84. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +31 -2
  85. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  86. package/dist/components/Company/DocumentSigner/assignSignatoryState.d.ts +1 -0
  87. package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
  88. package/dist/components/Company/DocumentSigner/documentSignerStateMachine.d.ts +4 -0
  89. package/dist/components/Company/DocumentSigner/documentSignerStateMachine.js.map +1 -1
  90. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.d.ts +41 -0
  91. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js.map +1 -1
  92. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +40 -10
  93. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.js.map +1 -1
  94. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.d.ts +111 -0
  95. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js.map +1 -1
  96. package/dist/components/Company/DocumentSigner/stateMachine.d.ts +1 -0
  97. package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
  98. package/dist/components/Company/DocumentSigner/useDocumentSigner.d.ts +1 -0
  99. package/dist/components/Company/FederalTaxes/Actions.d.ts +1 -0
  100. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  101. package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +13 -0
  102. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  103. package/dist/components/Company/FederalTaxes/Form.d.ts +1 -0
  104. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  105. package/dist/components/Company/FederalTaxes/Head.d.ts +1 -0
  106. package/dist/components/Company/FederalTaxes/Head.js.map +1 -1
  107. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +3 -0
  108. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +9 -10
  109. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  110. package/dist/components/Company/Industry/Actions.d.ts +1 -0
  111. package/dist/components/Company/Industry/Actions.js.map +1 -1
  112. package/dist/components/Company/Industry/Context.js +7 -8
  113. package/dist/components/Company/Industry/Context.js.map +1 -1
  114. package/dist/components/Company/Industry/Edit.d.ts +3 -0
  115. package/dist/components/Company/Industry/Edit.js.map +1 -1
  116. package/dist/components/Company/Industry/Head.d.ts +1 -0
  117. package/dist/components/Company/Industry/Head.js.map +1 -1
  118. package/dist/components/Company/Industry/Industry.d.ts +21 -0
  119. package/dist/components/Company/Industry/Industry.js.map +1 -1
  120. package/dist/components/Company/Industry/IndustrySelect.d.ts +1 -0
  121. package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
  122. package/dist/components/Company/Industry/index.d.ts +1 -1
  123. package/dist/components/Company/Locations/LocationForm/Actions.d.ts +1 -0
  124. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  125. package/dist/components/Company/Locations/LocationForm/Form.d.ts +3 -0
  126. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  127. package/dist/components/Company/Locations/LocationForm/Head.d.ts +1 -0
  128. package/dist/components/Company/Locations/LocationForm/Head.js.map +1 -1
  129. package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +16 -0
  130. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  131. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -5
  132. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  133. package/dist/components/Company/Locations/Locations.d.ts +26 -0
  134. package/dist/components/Company/Locations/Locations.js.map +1 -1
  135. package/dist/components/Company/Locations/LocationsList/Actions.d.ts +1 -0
  136. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  137. package/dist/components/Company/Locations/LocationsList/Head.d.ts +1 -0
  138. package/dist/components/Company/Locations/LocationsList/Head.js.map +1 -1
  139. package/dist/components/Company/Locations/LocationsList/List.d.ts +1 -1
  140. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  141. package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +23 -2
  142. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  143. package/dist/components/Company/Locations/LocationsList/index.d.ts +1 -1
  144. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -5
  145. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  146. package/dist/components/Company/Locations/locationsStateMachine.d.ts +4 -0
  147. package/dist/components/Company/Locations/locationsStateMachine.js.map +1 -1
  148. package/dist/components/Company/Locations/stateMachine.d.ts +1 -1
  149. package/dist/components/Company/Locations/stateMachine.js +0 -1
  150. package/dist/components/Company/Locations/stateMachine.js.map +1 -1
  151. package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +25 -0
  152. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  153. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +19 -1
  154. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  155. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.d.ts +1 -0
  156. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  157. package/dist/components/Company/OnboardingOverview/Completed.d.ts +1 -0
  158. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  159. package/dist/components/Company/OnboardingOverview/MissingRequirements.d.ts +1 -0
  160. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  161. package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +18 -0
  162. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  163. package/dist/components/Company/OnboardingOverview/context.js +4 -5
  164. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  165. package/dist/components/Company/PaySchedule/PaySchedule.d.ts +36 -3
  166. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  167. package/dist/components/Company/PaySchedule/PayScheduleComponents.d.ts +3 -0
  168. package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
  169. package/dist/components/Company/PaySchedule/PayScheduleForm.d.ts +1 -0
  170. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  171. package/dist/components/Company/PaySchedule/PayScheduleList.d.ts +1 -0
  172. package/dist/components/Company/PaySchedule/PayScheduleList.js.map +1 -1
  173. package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +1 -0
  174. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
  175. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +136 -0
  176. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
  177. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/index.d.ts +2 -1
  178. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +48 -26
  179. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
  180. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +134 -0
  181. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  182. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +25 -0
  183. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  184. package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +6 -0
  185. package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
  186. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.d.ts +1 -0
  187. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  188. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.d.ts +1 -3
  189. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +16 -18
  190. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
  191. package/dist/components/Company/StateTaxes/StateTaxesForm/Head.d.ts +1 -0
  192. package/dist/components/Company/StateTaxes/StateTaxesForm/Head.js.map +1 -1
  193. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +31 -0
  194. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  195. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -5
  196. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  197. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.d.ts +2 -0
  198. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -1
  199. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.d.ts +1 -0
  200. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  201. package/dist/components/Company/StateTaxes/StateTaxesList/Head.d.ts +1 -0
  202. package/dist/components/Company/StateTaxes/StateTaxesList/Head.js.map +1 -1
  203. package/dist/components/Company/StateTaxes/StateTaxesList/List.d.ts +1 -0
  204. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  205. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +16 -0
  206. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  207. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -5
  208. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  209. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +1 -0
  210. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
  211. package/dist/components/Company/exports/companyOnboarding.d.ts +7 -6
  212. package/dist/components/Company/exports/companyOnboarding.js +18 -16
  213. package/dist/components/Company/exports/companyOnboarding.js.map +1 -1
  214. package/dist/components/Company/index.d.ts +1 -17
  215. package/dist/components/Contractor/Address/Actions.d.ts +1 -0
  216. package/dist/components/Contractor/Address/Actions.js.map +1 -1
  217. package/dist/components/Contractor/Address/Address.d.ts +36 -1
  218. package/dist/components/Contractor/Address/Address.js.map +1 -1
  219. package/dist/components/Contractor/Address/Form.d.ts +1 -0
  220. package/dist/components/Contractor/Address/Form.js.map +1 -1
  221. package/dist/components/Contractor/Address/Head.d.ts +1 -0
  222. package/dist/components/Contractor/Address/Head.js.map +1 -1
  223. package/dist/components/Contractor/Address/index.d.ts +1 -1
  224. package/dist/components/Contractor/Address/useAddress.d.ts +8 -1
  225. package/dist/components/Contractor/Address/useAddress.js +6 -7
  226. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  227. package/dist/components/Contractor/ContractorList/index.d.ts +22 -9
  228. package/dist/components/Contractor/ContractorList/index.js +1 -3
  229. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  230. package/dist/components/Contractor/ContractorList/useContractorList.d.ts +3 -5
  231. package/dist/components/Contractor/ContractorList/useContractorList.js.map +1 -1
  232. package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +33 -9
  233. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  234. package/dist/components/Contractor/NewHireReport/types.d.ts +7 -0
  235. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +58 -0
  236. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  237. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +28 -2
  238. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  239. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.d.ts +1 -0
  240. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  241. package/dist/components/Contractor/PaymentMethod/BankAccountForm.d.ts +1 -0
  242. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
  243. package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +33 -16
  244. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
  245. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.d.ts +1 -9
  246. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +11 -15
  247. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +1 -1
  248. package/dist/components/Contractor/PaymentMethod/types.d.ts +7 -0
  249. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +40 -3
  250. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +1 -2
  251. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  252. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +1 -0
  253. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  254. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.d.ts +4 -18
  255. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js +0 -1
  256. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js.map +1 -1
  257. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.d.ts +1 -0
  258. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  259. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.d.ts +1 -0
  260. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
  261. package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.d.ts +1 -0
  262. package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.js.map +1 -1
  263. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +1 -0
  264. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  265. package/dist/components/Contractor/Payments/CreatePayment/helpers.d.ts +1 -0
  266. package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +1 -1
  267. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +40 -0
  268. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
  269. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +13 -0
  270. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  271. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +2 -0
  272. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  273. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +30 -3
  274. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +1 -2
  275. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  276. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +1 -0
  277. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  278. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.d.ts +15 -3
  279. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +1 -2
  280. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
  281. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +1 -0
  282. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  283. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +25 -2
  284. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  285. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.d.ts +1 -0
  286. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  287. package/dist/components/Contractor/Payments/PaymentSummary/index.d.ts +1 -2
  288. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +28 -3
  289. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +1 -2
  290. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  291. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +1 -0
  292. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  293. package/dist/components/Contractor/Payments/types.d.ts +8 -4
  294. package/dist/components/Contractor/Profile/ContractorProfile.d.ts +30 -6
  295. package/dist/components/Contractor/Profile/ContractorProfile.js +5 -9
  296. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
  297. package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +2 -0
  298. package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +1 -1
  299. package/dist/components/Contractor/Profile/index.d.ts +1 -2
  300. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +16 -2
  301. package/dist/components/Contractor/Profile/useContractorProfile.js +28 -26
  302. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  303. package/dist/components/Contractor/Submit/Submit.d.ts +21 -1
  304. package/dist/components/Contractor/Submit/Submit.js +1 -2
  305. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  306. package/dist/components/Contractor/Submit/SubmitDone.d.ts +1 -0
  307. package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
  308. package/dist/components/Contractor/exports/contractorManagement.d.ts +6 -6
  309. package/dist/components/Contractor/exports/contractorOnboarding.d.ts +9 -4
  310. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +29 -61
  311. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +19 -23
  312. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js +5 -0
  313. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -1
  314. package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -3
  315. package/dist/components/Employee/Deductions/onboarding/Deductions.js +21 -26
  316. package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
  317. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js +55 -50
  318. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js.map +1 -1
  319. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.d.ts +0 -4
  320. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js +33 -43
  321. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js.map +1 -1
  322. package/dist/components/Employee/Deductions/onboarding/stateMachine.d.ts +0 -1
  323. package/dist/components/Employee/Deductions/onboarding/stateMachine.js +36 -60
  324. package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
  325. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +63 -61
  326. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
  327. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -18
  328. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +2 -25
  329. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -5
  330. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  331. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +1 -4
  332. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +2 -48
  333. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +22 -14
  334. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
  335. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +3 -20
  336. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +3 -15
  337. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.d.ts +3 -12
  338. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +2 -11
  339. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +3 -22
  340. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +3 -17
  341. package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.d.ts +3 -10
  342. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -2
  343. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  344. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +2 -18
  345. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +144 -131
  346. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  347. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +3 -3
  348. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +167 -167
  349. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  350. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +40 -35
  351. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  352. package/dist/components/Payroll/usePreparedPayrollData.js +3 -4
  353. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  354. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +1 -2
  355. package/dist/index.d.ts +2 -2
  356. package/dist/index.js +90 -82
  357. package/dist/index.js.map +1 -1
  358. package/dist/partner-hook-utils/form/buildFormSchema.d.ts +27 -4
  359. package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
  360. package/dist/shared/constants.d.ts +0 -4
  361. package/dist/shared/constants.js +0 -2
  362. package/dist/shared/constants.js.map +1 -1
  363. package/dist/style.css +1 -1
  364. package/docs/reference/endpoint-inventory.json +11 -4
  365. package/package.json +6 -6
  366. package/dist/components/Contractor/index.d.ts +0 -14
  367. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.d.ts +0 -8
  368. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.js +0 -44
  369. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.js.map +0 -1
  370. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.module.scss.js +0 -12
  371. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.module.scss.js.map +0 -1
@@ -1,18 +1,8 @@
1
+ import { JSX } from 'react';
1
2
  import { Form } from '@gusto/embedded-api-v-2025-11-15/models/components/form';
2
3
  import { SignEmployeeFormData } from './signEmployeeFormSchema';
3
- import { SignatureField, ConfirmSignatureField, UsedPreparerField, Preparer1FirstName, Preparer1LastName, Preparer1Street1, Preparer1Street2, Preparer1City, Preparer1State, Preparer1Zip, Preparer1Signature, Preparer1ConfirmSignature } from './fields';
4
+ import { SignatureField, ConfirmSignatureField, UsedPreparerField, PreparerTextFieldProps, PreparerSelectFieldProps, PreparerCheckboxFieldProps } from './fields';
4
5
  import { BaseFormHookReady, FieldsMetadata, HookLoadingResult, HookSubmitResult } from '../../../../../partner-hook-utils/types';
5
- declare const preparer1Fields: {
6
- FirstName: typeof Preparer1FirstName;
7
- LastName: typeof Preparer1LastName;
8
- Street1: typeof Preparer1Street1;
9
- Street2: typeof Preparer1Street2;
10
- City: typeof Preparer1City;
11
- State: typeof Preparer1State;
12
- Zip: typeof Preparer1Zip;
13
- Signature: typeof Preparer1Signature;
14
- ConfirmSignature: typeof Preparer1ConfirmSignature;
15
- };
16
6
  /**
17
7
  * Field group exposed for each I-9 preparer/translator on {@link useSignEmployeeForm}.
18
8
  *
@@ -23,7 +13,26 @@ declare const preparer1Fields: {
23
13
  *
24
14
  * @public
25
15
  */
26
- export type PreparerFieldGroup = typeof preparer1Fields;
16
+ export type PreparerFieldGroup = {
17
+ /** Preparer's first name. */
18
+ FirstName: (props: PreparerTextFieldProps) => JSX.Element;
19
+ /** Preparer's last name. */
20
+ LastName: (props: PreparerTextFieldProps) => JSX.Element;
21
+ /** Preparer's street address line 1. */
22
+ Street1: (props: PreparerTextFieldProps) => JSX.Element;
23
+ /** Preparer's street address line 2. */
24
+ Street2: (props: PreparerTextFieldProps) => JSX.Element;
25
+ /** Preparer's city. */
26
+ City: (props: PreparerTextFieldProps) => JSX.Element;
27
+ /** Preparer's state. */
28
+ State: (props: PreparerSelectFieldProps) => JSX.Element;
29
+ /** Preparer's ZIP code. */
30
+ Zip: (props: PreparerTextFieldProps) => JSX.Element;
31
+ /** Preparer's typed signature. */
32
+ Signature: (props: PreparerTextFieldProps) => JSX.Element;
33
+ /** Preparer's electronic-signature consent checkbox. */
34
+ ConfirmSignature: (props: PreparerCheckboxFieldProps) => JSX.Element;
35
+ };
27
36
  /**
28
37
  * Props for {@link useSignEmployeeForm}.
29
38
  *
@@ -183,4 +192,3 @@ export type SignEmployeeFormFieldsMetadata = UseSignEmployeeFormReady['form']['f
183
192
  * @public
184
193
  */
185
194
  export type SignEmployeeFormFields = UseSignEmployeeFormReady['form']['Fields'];
186
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useSignEmployeeForm.js","sources":["../../../../../../src/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.tsx"],"sourcesContent":["import { useMemo, useCallback, useState, useEffect } from 'react'\nimport { useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Form } from '@gusto/embedded-api-v-2025-11-15/models/components/form'\nimport { useEmployeeFormsGet } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsGet'\nimport { useEmployeeFormsGetPdf } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsGetPdf'\nimport { useEmployeeFormsSignMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsSign'\nimport {\n createSignEmployeeFormSchema,\n MAX_PREPARERS,\n PREPARER_FIELDS_BY_INDEX,\n PREPARERS_BY_INDEX,\n type SignEmployeeFormData,\n type SignEmployeeFormOutputs,\n} from './signEmployeeFormSchema'\nimport {\n SignatureField,\n ConfirmSignatureField,\n UsedPreparerField,\n Preparer1FirstName,\n Preparer1LastName,\n Preparer1Street1,\n Preparer1Street2,\n Preparer1City,\n Preparer1State,\n Preparer1Zip,\n Preparer1Signature,\n Preparer1ConfirmSignature,\n Preparer2FirstName,\n Preparer2LastName,\n Preparer2Street1,\n Preparer2Street2,\n Preparer2City,\n Preparer2State,\n Preparer2Zip,\n Preparer2Signature,\n Preparer2ConfirmSignature,\n Preparer3FirstName,\n Preparer3LastName,\n Preparer3Street1,\n Preparer3Street2,\n Preparer3City,\n Preparer3State,\n Preparer3Zip,\n Preparer3Signature,\n Preparer3ConfirmSignature,\n Preparer4FirstName,\n Preparer4LastName,\n Preparer4Street1,\n Preparer4Street2,\n Preparer4City,\n Preparer4State,\n Preparer4Zip,\n Preparer4Signature,\n Preparer4ConfirmSignature,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { I9_FORM_NAME, STATES_ABBR } from '@/shared/constants'\n\nconst stateOptions = STATES_ABBR.map(abbr => ({ label: abbr, value: abbr }))\n\n// ── Preparer field groups ──────────────────────────────────────────────\n\nconst preparer1Fields = {\n FirstName: Preparer1FirstName,\n LastName: Preparer1LastName,\n Street1: Preparer1Street1,\n Street2: Preparer1Street2,\n City: Preparer1City,\n State: Preparer1State,\n Zip: Preparer1Zip,\n Signature: Preparer1Signature,\n ConfirmSignature: Preparer1ConfirmSignature,\n}\n\nconst preparer2Fields = {\n FirstName: Preparer2FirstName,\n LastName: Preparer2LastName,\n Street1: Preparer2Street1,\n Street2: Preparer2Street2,\n City: Preparer2City,\n State: Preparer2State,\n Zip: Preparer2Zip,\n Signature: Preparer2Signature,\n ConfirmSignature: Preparer2ConfirmSignature,\n}\n\nconst preparer3Fields = {\n FirstName: Preparer3FirstName,\n LastName: Preparer3LastName,\n Street1: Preparer3Street1,\n Street2: Preparer3Street2,\n City: Preparer3City,\n State: Preparer3State,\n Zip: Preparer3Zip,\n Signature: Preparer3Signature,\n ConfirmSignature: Preparer3ConfirmSignature,\n}\n\nconst preparer4Fields = {\n FirstName: Preparer4FirstName,\n LastName: Preparer4LastName,\n Street1: Preparer4Street1,\n Street2: Preparer4Street2,\n City: Preparer4City,\n State: Preparer4State,\n Zip: Preparer4Zip,\n Signature: Preparer4Signature,\n ConfirmSignature: Preparer4ConfirmSignature,\n}\n\n/**\n * Field group exposed for each I-9 preparer/translator on {@link useSignEmployeeForm}.\n *\n * @remarks\n * Each preparer (1–4) exposes the same nine sub-fields covering name,\n * address, signature, and consent. Render the sub-fields directly on the\n * group, e.g. `<Fields.Preparer1.FirstName />`.\n *\n * @public\n */\nexport type PreparerFieldGroup = typeof preparer1Fields\n\n// ── Types ──────────────────────────────────────────────────────────────\n\n/**\n * Props for {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport interface UseSignEmployeeFormProps {\n /** The associated employee identifier. */\n employeeId: string\n /** The UUID of the employee form to sign. */\n formId: string\n}\n\n/**\n * Field components exposed by {@link useSignEmployeeForm} on `form.Fields`.\n *\n * @remarks\n * `Signature` and `ConfirmSignature` are always present. `UsedPreparer` and\n * the `Preparer1`–`Preparer4` field groups are only defined when the form\n * being signed is an I-9 and the preparer count has reached that index —\n * always null-check before rendering.\n *\n * @public\n */\nexport interface SignEmployeeFormFieldComponents {\n /** Text input for the employee's typed signature; always present. */\n Signature: typeof SignatureField\n /** Checkbox for the employee's electronic-signature consent; always present. */\n ConfirmSignature: typeof ConfirmSignatureField\n /** Radio group asking whether a preparer/translator assisted; defined only for I-9 forms. */\n UsedPreparer: typeof UsedPreparerField | undefined\n /** First preparer field group; defined only for I-9 forms when `preparers.count >= 1`. */\n Preparer1: PreparerFieldGroup | undefined\n /** Second preparer field group; defined only for I-9 forms when `preparers.count >= 2`. */\n Preparer2: PreparerFieldGroup | undefined\n /** Third preparer field group; defined only for I-9 forms when `preparers.count >= 3`. */\n Preparer3: PreparerFieldGroup | undefined\n /** Fourth preparer field group; defined only for I-9 forms when `preparers.count >= 4`. */\n Preparer4: PreparerFieldGroup | undefined\n}\n\n/**\n * Ready-state shape returned by {@link useSignEmployeeForm} once the form metadata and PDF have loaded.\n *\n * @public\n */\nexport interface UseSignEmployeeFormReady extends BaseFormHookReady<\n FieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFieldComponents\n> {\n /** Loaded data — the form entity and a preview PDF URL. */\n data: {\n /** The employee form entity fetched from the API (includes `uuid`, `name`, `title`). */\n form: Form\n /** URL to the form's signed PDF for preview, or `undefined` while it is still being generated. */\n pdfUrl: string | null | undefined\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 form on success. */\n onSubmit: () => Promise<HookSubmitResult<Form> | undefined>\n /** Adds an additional preparer/translator section (up to 4). Defined only for I-9 forms. */\n addPreparer?: () => void\n /** Removes the last preparer/translator section and unregisters its fields. Defined only for I-9 forms. */\n removePreparer?: () => void\n }\n /** Form bindings — `Fields`, `fieldsMetadata`, and I-9 preparer state. */\n form: BaseFormHookReady<\n FieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFieldComponents\n >['form'] & {\n /** Preparer-section state. Defined only for I-9 forms. */\n preparers?: {\n /** Current number of preparer sections, between 0 and 4. */\n count: number\n /** `true` when fewer than 4 preparers are active. */\n canAdd: boolean\n /** `true` when at least 1 preparer is active. */\n canRemove: boolean\n }\n }\n}\n\n// ── Hook ───────────────────────────────────────────────────────────────\n\n/**\n * Headless hook for signing an employee form — captures a typed signature, electronic consent, and (for I-9 forms) preparer/translator certification.\n *\n * @remarks\n * The hook fetches the form metadata and PDF, then exposes the\n * {@link BaseFormHookReady} contract with `Fields`, `fieldsMetadata`,\n * `onSubmit`, and error handling. The hook inspects the form's `name` to\n * detect I-9 forms; when the form is an I-9, `Fields.UsedPreparer` and the\n * `Fields.Preparer1`–`Preparer4` field groups become defined, along with\n * `actions.addPreparer` / `actions.removePreparer` and `form.preparers`\n * state. Selecting `usedPreparer: 'yes'` automatically reveals the first\n * preparer section; switching back to `'no'` removes all preparer sections\n * and unregisters their fields.\n *\n * Unlike the CRUD-oriented form hooks (`useEmployeeDetailsForm`,\n * `useCompensationForm`, `useWorkAddressForm`), this hook does not accept\n * `defaultValues`, `requiredFields`, or `validationMode` — the form shape is\n * fixed and all fields except preparer street-2 are required.\n *\n * @param props - See {@link UseSignEmployeeFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseSignEmployeeFormReady} once the form is loaded.\n * @public\n *\n * @example\n * ```tsx\n * import { useSignEmployeeForm, SDKFormProvider } from '@gusto/embedded-react-sdk'\n *\n * function SignFormPage({ employeeId, formId }: { employeeId: string; formId: string }) {\n * const signForm = useSignEmployeeForm({ employeeId, formId })\n *\n * if (signForm.isLoading) return <div>Loading...</div>\n *\n * const { Fields } = signForm.form\n *\n * return (\n * <SDKFormProvider formHookResult={signForm}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void signForm.actions.onSubmit()\n * }}\n * >\n * <Fields.Signature\n * label=\"Signature\"\n * description=\"Type your full, legal name.\"\n * validationMessages={{ REQUIRED: 'Signature is required' }}\n * />\n * <Fields.ConfirmSignature\n * label=\"I agree to sign electronically\"\n * validationMessages={{ REQUIRED: 'You must agree to sign electronically' }}\n * />\n * <button type=\"submit\" disabled={signForm.status.isPending}>\n * Sign form\n * </button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useSignEmployeeForm({\n employeeId,\n formId,\n}: UseSignEmployeeFormProps): HookLoadingResult | UseSignEmployeeFormReady {\n const formQuery = useEmployeeFormsGet({ employeeId, formId })\n const pdfQuery = useEmployeeFormsGetPdf({ employeeId, formId })\n\n const form = formQuery.data?.form\n const pdfUrl = pdfQuery.data?.formPdf?.documentUrl\n const isI9 = form?.name === I9_FORM_NAME\n\n const [preparerCount, setPreparerCount] = useState(0)\n\n const [schema, metadataConfig] = useMemo(\n () => createSignEmployeeFormSchema({ isI9, preparerCount }),\n [isI9, preparerCount],\n )\n\n const formMethods = useForm<SignEmployeeFormData, unknown, SignEmployeeFormOutputs>({\n resolver: zodResolver(schema),\n defaultValues: {\n signature: '',\n confirmSignature: false,\n usedPreparer: 'no',\n },\n })\n\n const { mutateAsync: signForm, isPending } = useEmployeeFormsSignMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('SignEmployeeForm')\n\n // The signed PDF is a preview convenience: `pdfUrl` is optional and both the\n // viewer and the download link already degrade gracefully when it's absent.\n // A failed — or not-yet-ready — PDF fetch must NOT surface as a page-level\n // signing error. In particular the global post-mutation invalidation forces a\n // `getPdf` refetch the instant a sign succeeds, which races backend generation\n // of the signed PDF; surfacing that transient failure as \"there was a problem\n // with your submission\" is misleading when the signature actually went through\n // (SDK-947). Only the form query feeds the error surface.\n const queries = [formQuery]\n const errorHandling = composeErrorHandler(queries, { submitError, setSubmitError })\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n\n const fieldsMetadata = useMemo(\n () => ({\n ...baseMetadata,\n ...(isI9\n ? {\n usedPreparer: withOptions(baseMetadata.usedPreparer, [\n { label: 'No, I completed this myself', value: 'no' },\n { label: 'Yes, I used a preparer/translator', value: 'yes' },\n ]),\n preparerState: withOptions(baseMetadata.preparerState, stateOptions, STATES_ABBR),\n preparer2State: withOptions(baseMetadata.preparer2State, stateOptions, STATES_ABBR),\n preparer3State: withOptions(baseMetadata.preparer3State, stateOptions, STATES_ABBR),\n preparer4State: withOptions(baseMetadata.preparer4State, stateOptions, STATES_ABBR),\n }\n : {}),\n }),\n [baseMetadata, isI9],\n )\n\n const addPreparer = useCallback(() => {\n setPreparerCount(prev => Math.min(prev + 1, MAX_PREPARERS))\n }, [])\n\n const removePreparer = useCallback(() => {\n setPreparerCount(prev => {\n if (prev <= 0) return prev\n const preparerFields = PREPARER_FIELDS_BY_INDEX[prev - 1]\n if (!preparerFields) return prev\n for (const name of preparerFields) {\n formMethods.unregister(name)\n }\n return prev - 1\n })\n }, [formMethods.unregister])\n\n const usedPreparer = isI9 ? formMethods.watch('usedPreparer') : undefined\n\n useEffect(() => {\n if (!isI9) return\n if (usedPreparer === 'yes' && preparerCount === 0) {\n addPreparer()\n }\n if (usedPreparer === 'no' && preparerCount > 0) {\n for (let i = preparerCount; i > 0; i--) {\n removePreparer()\n }\n }\n }, [usedPreparer, isI9, preparerCount, addPreparer, removePreparer])\n\n const onSubmit = async (): Promise<HookSubmitResult<Form> | undefined> => {\n let submitResult: HookSubmitResult<Form> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: SignEmployeeFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const requestBody: Record<string, unknown> = {\n signatureText: payload.signature,\n agree: payload.confirmSignature,\n }\n\n if (isI9) {\n Object.assign(requestBody, buildPreparerPayload(payload, preparerCount))\n }\n\n const result = await signForm({\n request: {\n employeeId,\n formId: form!.uuid,\n requestBody: requestBody as {\n signatureText: string\n agree: boolean\n signedByIpAddress: string\n },\n },\n })\n\n if (result.form) {\n submitResult = { mode: 'create', data: result.form }\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n const isDataLoading = formQuery.isLoading || pdfQuery.isLoading\n\n if (isDataLoading || !form) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { form, pdfUrl },\n status: { isPending, mode: 'create' as const },\n actions: {\n onSubmit,\n ...(isI9 ? { addPreparer, removePreparer } : {}),\n },\n errorHandling,\n form: {\n Fields: {\n Signature: SignatureField,\n ConfirmSignature: ConfirmSignatureField,\n UsedPreparer: isI9 ? UsedPreparerField : undefined,\n Preparer1: isI9 && preparerCount >= 1 ? preparer1Fields : undefined,\n Preparer2: isI9 && preparerCount >= 2 ? preparer2Fields : undefined,\n Preparer3: isI9 && preparerCount >= 3 ? preparer3Fields : undefined,\n Preparer4: isI9 && preparerCount >= 4 ? preparer4Fields : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n ...(isI9\n ? {\n preparers: {\n count: preparerCount,\n canAdd: preparerCount < MAX_PREPARERS,\n canRemove: preparerCount > 0,\n },\n }\n : {}),\n },\n }\n}\n\n// ── Helpers ─────────────────────────────────────────────────────────────\n\nfunction buildPreparerPayload(payload: SignEmployeeFormOutputs, count: number) {\n if (payload.usedPreparer !== 'yes' || count === 0) {\n return { preparer: false }\n }\n\n const result: Record<string, unknown> = { preparer: true }\n\n for (let index = 0; index < count; index++) {\n if (index > 0) {\n result[`preparer${String(index + 1)}`] = true\n }\n\n const preparer = PREPARERS_BY_INDEX[index]\n if (!preparer) continue\n\n result[preparer.firstName] = payload[preparer.firstName]\n result[preparer.lastName] = payload[preparer.lastName]\n result[preparer.street1] = payload[preparer.street1]\n if (payload[preparer.street2]) {\n result[preparer.street2] = payload[preparer.street2]\n }\n result[preparer.city] = payload[preparer.city]\n result[preparer.state] = payload[preparer.state]\n result[preparer.zip] = payload[preparer.zip]\n result[preparer.signature] = payload[preparer.signature]\n result[preparer.agree] = 'true'\n }\n\n return result\n}\n\n/**\n * Result of {@link useSignEmployeeForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseSignEmployeeFormResult = HookLoadingResult | UseSignEmployeeFormReady\n/**\n * Shape of the `form.fieldsMetadata` object returned by {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport type SignEmployeeFormFieldsMetadata = UseSignEmployeeFormReady['form']['fieldsMetadata']\n/**\n * Shape of the `form.Fields` object returned by {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport type SignEmployeeFormFields = UseSignEmployeeFormReady['form']['Fields']\n"],"names":["stateOptions","STATES_ABBR","abbr","preparer1Fields","Preparer1FirstName","Preparer1LastName","Preparer1Street1","Preparer1Street2","Preparer1City","Preparer1State","Preparer1Zip","Preparer1Signature","Preparer1ConfirmSignature","preparer2Fields","Preparer2FirstName","Preparer2LastName","Preparer2Street1","Preparer2Street2","Preparer2City","Preparer2State","Preparer2Zip","Preparer2Signature","Preparer2ConfirmSignature","preparer3Fields","Preparer3FirstName","Preparer3LastName","Preparer3Street1","Preparer3Street2","Preparer3City","Preparer3State","Preparer3Zip","Preparer3Signature","Preparer3ConfirmSignature","preparer4Fields","Preparer4FirstName","Preparer4LastName","Preparer4Street1","Preparer4Street2","Preparer4City","Preparer4State","Preparer4Zip","Preparer4Signature","Preparer4ConfirmSignature","useSignEmployeeForm","employeeId","formId","formQuery","useEmployeeFormsGet","pdfQuery","useEmployeeFormsGetPdf","form","pdfUrl","isI9","I9_FORM_NAME","preparerCount","setPreparerCount","useState","schema","metadataConfig","useMemo","createSignEmployeeFormSchema","formMethods","useForm","zodResolver","signForm","isPending","useEmployeeFormsSignMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","addPreparer","useCallback","prev","MAX_PREPARERS","removePreparer","preparerFields","PREPARER_FIELDS_BY_INDEX","name","usedPreparer","useEffect","i","onSubmit","submitResult","resolve","data","payload","requestBody","buildPreparerPayload","result","hookFormInternals","useHookFormInternals","SignatureField","ConfirmSignatureField","UsedPreparerField","createGetFormSubmissionValues","count","index","preparer","PREPARERS_BY_INDEX"],"mappings":"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"}
1
+ {"version":3,"file":"useSignEmployeeForm.js","sources":["../../../../../../src/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.tsx"],"sourcesContent":["import type { JSX } from 'react'\nimport { useMemo, useCallback, useState, useEffect } from 'react'\nimport { useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Form } from '@gusto/embedded-api-v-2025-11-15/models/components/form'\nimport { useEmployeeFormsGet } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsGet'\nimport { useEmployeeFormsGetPdf } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsGetPdf'\nimport { useEmployeeFormsSignMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsSign'\nimport {\n createSignEmployeeFormSchema,\n MAX_PREPARERS,\n PREPARER_FIELDS_BY_INDEX,\n PREPARERS_BY_INDEX,\n type SignEmployeeFormData,\n type SignEmployeeFormOutputs,\n} from './signEmployeeFormSchema'\nimport {\n SignatureField,\n ConfirmSignatureField,\n UsedPreparerField,\n type PreparerTextFieldProps,\n type PreparerSelectFieldProps,\n type PreparerCheckboxFieldProps,\n Preparer1FirstName,\n Preparer1LastName,\n Preparer1Street1,\n Preparer1Street2,\n Preparer1City,\n Preparer1State,\n Preparer1Zip,\n Preparer1Signature,\n Preparer1ConfirmSignature,\n Preparer2FirstName,\n Preparer2LastName,\n Preparer2Street1,\n Preparer2Street2,\n Preparer2City,\n Preparer2State,\n Preparer2Zip,\n Preparer2Signature,\n Preparer2ConfirmSignature,\n Preparer3FirstName,\n Preparer3LastName,\n Preparer3Street1,\n Preparer3Street2,\n Preparer3City,\n Preparer3State,\n Preparer3Zip,\n Preparer3Signature,\n Preparer3ConfirmSignature,\n Preparer4FirstName,\n Preparer4LastName,\n Preparer4Street1,\n Preparer4Street2,\n Preparer4City,\n Preparer4State,\n Preparer4Zip,\n Preparer4Signature,\n Preparer4ConfirmSignature,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { I9_FORM_NAME, STATES_ABBR } from '@/shared/constants'\n\nconst stateOptions = STATES_ABBR.map(abbr => ({ label: abbr, value: abbr }))\n\n// ── Preparer field groups ──────────────────────────────────────────────\n\nconst preparer1Fields = {\n FirstName: Preparer1FirstName,\n LastName: Preparer1LastName,\n Street1: Preparer1Street1,\n Street2: Preparer1Street2,\n City: Preparer1City,\n State: Preparer1State,\n Zip: Preparer1Zip,\n Signature: Preparer1Signature,\n ConfirmSignature: Preparer1ConfirmSignature,\n} satisfies PreparerFieldGroup\n\nconst preparer2Fields = {\n FirstName: Preparer2FirstName,\n LastName: Preparer2LastName,\n Street1: Preparer2Street1,\n Street2: Preparer2Street2,\n City: Preparer2City,\n State: Preparer2State,\n Zip: Preparer2Zip,\n Signature: Preparer2Signature,\n ConfirmSignature: Preparer2ConfirmSignature,\n} satisfies PreparerFieldGroup\n\nconst preparer3Fields = {\n FirstName: Preparer3FirstName,\n LastName: Preparer3LastName,\n Street1: Preparer3Street1,\n Street2: Preparer3Street2,\n City: Preparer3City,\n State: Preparer3State,\n Zip: Preparer3Zip,\n Signature: Preparer3Signature,\n ConfirmSignature: Preparer3ConfirmSignature,\n} satisfies PreparerFieldGroup\n\nconst preparer4Fields = {\n FirstName: Preparer4FirstName,\n LastName: Preparer4LastName,\n Street1: Preparer4Street1,\n Street2: Preparer4Street2,\n City: Preparer4City,\n State: Preparer4State,\n Zip: Preparer4Zip,\n Signature: Preparer4Signature,\n ConfirmSignature: Preparer4ConfirmSignature,\n} satisfies PreparerFieldGroup\n\n/**\n * Field group exposed for each I-9 preparer/translator on {@link useSignEmployeeForm}.\n *\n * @remarks\n * Each preparer (1–4) exposes the same nine sub-fields covering name,\n * address, signature, and consent. Render the sub-fields directly on the\n * group, e.g. `<Fields.Preparer1.FirstName />`.\n *\n * @public\n */\nexport type PreparerFieldGroup = {\n /** Preparer's first name. */\n FirstName: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's last name. */\n LastName: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's street address line 1. */\n Street1: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's street address line 2. */\n Street2: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's city. */\n City: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's state. */\n State: (props: PreparerSelectFieldProps) => JSX.Element\n /** Preparer's ZIP code. */\n Zip: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's typed signature. */\n Signature: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's electronic-signature consent checkbox. */\n ConfirmSignature: (props: PreparerCheckboxFieldProps) => JSX.Element\n}\n\n// ── Types ──────────────────────────────────────────────────────────────\n\n/**\n * Props for {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport interface UseSignEmployeeFormProps {\n /** The associated employee identifier. */\n employeeId: string\n /** The UUID of the employee form to sign. */\n formId: string\n}\n\n/**\n * Field components exposed by {@link useSignEmployeeForm} on `form.Fields`.\n *\n * @remarks\n * `Signature` and `ConfirmSignature` are always present. `UsedPreparer` and\n * the `Preparer1`–`Preparer4` field groups are only defined when the form\n * being signed is an I-9 and the preparer count has reached that index —\n * always null-check before rendering.\n *\n * @public\n */\nexport interface SignEmployeeFormFieldComponents {\n /** Text input for the employee's typed signature; always present. */\n Signature: typeof SignatureField\n /** Checkbox for the employee's electronic-signature consent; always present. */\n ConfirmSignature: typeof ConfirmSignatureField\n /** Radio group asking whether a preparer/translator assisted; defined only for I-9 forms. */\n UsedPreparer: typeof UsedPreparerField | undefined\n /** First preparer field group; defined only for I-9 forms when `preparers.count >= 1`. */\n Preparer1: PreparerFieldGroup | undefined\n /** Second preparer field group; defined only for I-9 forms when `preparers.count >= 2`. */\n Preparer2: PreparerFieldGroup | undefined\n /** Third preparer field group; defined only for I-9 forms when `preparers.count >= 3`. */\n Preparer3: PreparerFieldGroup | undefined\n /** Fourth preparer field group; defined only for I-9 forms when `preparers.count >= 4`. */\n Preparer4: PreparerFieldGroup | undefined\n}\n\n/**\n * Ready-state shape returned by {@link useSignEmployeeForm} once the form metadata and PDF have loaded.\n *\n * @public\n */\nexport interface UseSignEmployeeFormReady extends BaseFormHookReady<\n FieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFieldComponents\n> {\n /** Loaded data — the form entity and a preview PDF URL. */\n data: {\n /** The employee form entity fetched from the API (includes `uuid`, `name`, `title`). */\n form: Form\n /** URL to the form's signed PDF for preview, or `undefined` while it is still being generated. */\n pdfUrl: string | null | undefined\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 form on success. */\n onSubmit: () => Promise<HookSubmitResult<Form> | undefined>\n /** Adds an additional preparer/translator section (up to 4). Defined only for I-9 forms. */\n addPreparer?: () => void\n /** Removes the last preparer/translator section and unregisters its fields. Defined only for I-9 forms. */\n removePreparer?: () => void\n }\n /** Form bindings — `Fields`, `fieldsMetadata`, and I-9 preparer state. */\n form: BaseFormHookReady<\n FieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFieldComponents\n >['form'] & {\n /** Preparer-section state. Defined only for I-9 forms. */\n preparers?: {\n /** Current number of preparer sections, between 0 and 4. */\n count: number\n /** `true` when fewer than 4 preparers are active. */\n canAdd: boolean\n /** `true` when at least 1 preparer is active. */\n canRemove: boolean\n }\n }\n}\n\n// ── Hook ───────────────────────────────────────────────────────────────\n\n/**\n * Headless hook for signing an employee form — captures a typed signature, electronic consent, and (for I-9 forms) preparer/translator certification.\n *\n * @remarks\n * The hook fetches the form metadata and PDF, then exposes the\n * {@link BaseFormHookReady} contract with `Fields`, `fieldsMetadata`,\n * `onSubmit`, and error handling. The hook inspects the form's `name` to\n * detect I-9 forms; when the form is an I-9, `Fields.UsedPreparer` and the\n * `Fields.Preparer1`–`Preparer4` field groups become defined, along with\n * `actions.addPreparer` / `actions.removePreparer` and `form.preparers`\n * state. Selecting `usedPreparer: 'yes'` automatically reveals the first\n * preparer section; switching back to `'no'` removes all preparer sections\n * and unregisters their fields.\n *\n * Unlike the CRUD-oriented form hooks (`useEmployeeDetailsForm`,\n * `useCompensationForm`, `useWorkAddressForm`), this hook does not accept\n * `defaultValues`, `requiredFields`, or `validationMode` — the form shape is\n * fixed and all fields except preparer street-2 are required.\n *\n * @param props - See {@link UseSignEmployeeFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseSignEmployeeFormReady} once the form is loaded.\n * @public\n *\n * @example\n * ```tsx\n * import { useSignEmployeeForm, SDKFormProvider } from '@gusto/embedded-react-sdk'\n *\n * function SignFormPage({ employeeId, formId }: { employeeId: string; formId: string }) {\n * const signForm = useSignEmployeeForm({ employeeId, formId })\n *\n * if (signForm.isLoading) return <div>Loading...</div>\n *\n * const { Fields } = signForm.form\n *\n * return (\n * <SDKFormProvider formHookResult={signForm}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void signForm.actions.onSubmit()\n * }}\n * >\n * <Fields.Signature\n * label=\"Signature\"\n * description=\"Type your full, legal name.\"\n * validationMessages={{ REQUIRED: 'Signature is required' }}\n * />\n * <Fields.ConfirmSignature\n * label=\"I agree to sign electronically\"\n * validationMessages={{ REQUIRED: 'You must agree to sign electronically' }}\n * />\n * <button type=\"submit\" disabled={signForm.status.isPending}>\n * Sign form\n * </button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useSignEmployeeForm({\n employeeId,\n formId,\n}: UseSignEmployeeFormProps): HookLoadingResult | UseSignEmployeeFormReady {\n const formQuery = useEmployeeFormsGet({ employeeId, formId })\n const pdfQuery = useEmployeeFormsGetPdf({ employeeId, formId })\n\n const form = formQuery.data?.form\n const pdfUrl = pdfQuery.data?.formPdf?.documentUrl\n const isI9 = form?.name === I9_FORM_NAME\n\n const [preparerCount, setPreparerCount] = useState(0)\n\n const [schema, metadataConfig] = useMemo(\n () => createSignEmployeeFormSchema({ isI9, preparerCount }),\n [isI9, preparerCount],\n )\n\n const formMethods = useForm<SignEmployeeFormData, unknown, SignEmployeeFormOutputs>({\n resolver: zodResolver(schema),\n defaultValues: {\n signature: '',\n confirmSignature: false,\n usedPreparer: 'no',\n },\n })\n\n const { mutateAsync: signForm, isPending } = useEmployeeFormsSignMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('SignEmployeeForm')\n\n // The signed PDF is a preview convenience: `pdfUrl` is optional and both the\n // viewer and the download link already degrade gracefully when it's absent.\n // A failed — or not-yet-ready — PDF fetch must NOT surface as a page-level\n // signing error. In particular the global post-mutation invalidation forces a\n // `getPdf` refetch the instant a sign succeeds, which races backend generation\n // of the signed PDF; surfacing that transient failure as \"there was a problem\n // with your submission\" is misleading when the signature actually went through\n // (SDK-947). Only the form query feeds the error surface.\n const queries = [formQuery]\n const errorHandling = composeErrorHandler(queries, { submitError, setSubmitError })\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n\n const fieldsMetadata = useMemo(\n () => ({\n ...baseMetadata,\n ...(isI9\n ? {\n usedPreparer: withOptions(baseMetadata.usedPreparer, [\n { label: 'No, I completed this myself', value: 'no' },\n { label: 'Yes, I used a preparer/translator', value: 'yes' },\n ]),\n preparerState: withOptions(baseMetadata.preparerState, stateOptions, STATES_ABBR),\n preparer2State: withOptions(baseMetadata.preparer2State, stateOptions, STATES_ABBR),\n preparer3State: withOptions(baseMetadata.preparer3State, stateOptions, STATES_ABBR),\n preparer4State: withOptions(baseMetadata.preparer4State, stateOptions, STATES_ABBR),\n }\n : {}),\n }),\n [baseMetadata, isI9],\n )\n\n const addPreparer = useCallback(() => {\n setPreparerCount(prev => Math.min(prev + 1, MAX_PREPARERS))\n }, [])\n\n const removePreparer = useCallback(() => {\n setPreparerCount(prev => {\n if (prev <= 0) return prev\n const preparerFields = PREPARER_FIELDS_BY_INDEX[prev - 1]\n if (!preparerFields) return prev\n for (const name of preparerFields) {\n formMethods.unregister(name)\n }\n return prev - 1\n })\n }, [formMethods.unregister])\n\n const usedPreparer = isI9 ? formMethods.watch('usedPreparer') : undefined\n\n useEffect(() => {\n if (!isI9) return\n if (usedPreparer === 'yes' && preparerCount === 0) {\n addPreparer()\n }\n if (usedPreparer === 'no' && preparerCount > 0) {\n for (let i = preparerCount; i > 0; i--) {\n removePreparer()\n }\n }\n }, [usedPreparer, isI9, preparerCount, addPreparer, removePreparer])\n\n const onSubmit = async (): Promise<HookSubmitResult<Form> | undefined> => {\n let submitResult: HookSubmitResult<Form> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: SignEmployeeFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const requestBody: Record<string, unknown> = {\n signatureText: payload.signature,\n agree: payload.confirmSignature,\n }\n\n if (isI9) {\n Object.assign(requestBody, buildPreparerPayload(payload, preparerCount))\n }\n\n const result = await signForm({\n request: {\n employeeId,\n formId: form!.uuid,\n requestBody: requestBody as {\n signatureText: string\n agree: boolean\n signedByIpAddress: string\n },\n },\n })\n\n if (result.form) {\n submitResult = { mode: 'create', data: result.form }\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n const isDataLoading = formQuery.isLoading || pdfQuery.isLoading\n\n if (isDataLoading || !form) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { form, pdfUrl },\n status: { isPending, mode: 'create' as const },\n actions: {\n onSubmit,\n ...(isI9 ? { addPreparer, removePreparer } : {}),\n },\n errorHandling,\n form: {\n Fields: {\n Signature: SignatureField,\n ConfirmSignature: ConfirmSignatureField,\n UsedPreparer: isI9 ? UsedPreparerField : undefined,\n Preparer1: isI9 && preparerCount >= 1 ? preparer1Fields : undefined,\n Preparer2: isI9 && preparerCount >= 2 ? preparer2Fields : undefined,\n Preparer3: isI9 && preparerCount >= 3 ? preparer3Fields : undefined,\n Preparer4: isI9 && preparerCount >= 4 ? preparer4Fields : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n ...(isI9\n ? {\n preparers: {\n count: preparerCount,\n canAdd: preparerCount < MAX_PREPARERS,\n canRemove: preparerCount > 0,\n },\n }\n : {}),\n },\n }\n}\n\n// ── Helpers ─────────────────────────────────────────────────────────────\n\nfunction buildPreparerPayload(payload: SignEmployeeFormOutputs, count: number) {\n if (payload.usedPreparer !== 'yes' || count === 0) {\n return { preparer: false }\n }\n\n const result: Record<string, unknown> = { preparer: true }\n\n for (let index = 0; index < count; index++) {\n if (index > 0) {\n result[`preparer${String(index + 1)}`] = true\n }\n\n const preparer = PREPARERS_BY_INDEX[index]\n if (!preparer) continue\n\n result[preparer.firstName] = payload[preparer.firstName]\n result[preparer.lastName] = payload[preparer.lastName]\n result[preparer.street1] = payload[preparer.street1]\n if (payload[preparer.street2]) {\n result[preparer.street2] = payload[preparer.street2]\n }\n result[preparer.city] = payload[preparer.city]\n result[preparer.state] = payload[preparer.state]\n result[preparer.zip] = payload[preparer.zip]\n result[preparer.signature] = payload[preparer.signature]\n result[preparer.agree] = 'true'\n }\n\n return result\n}\n\n/**\n * Result of {@link useSignEmployeeForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseSignEmployeeFormResult = HookLoadingResult | UseSignEmployeeFormReady\n/**\n * Shape of the `form.fieldsMetadata` object returned by {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport type SignEmployeeFormFieldsMetadata = UseSignEmployeeFormReady['form']['fieldsMetadata']\n/**\n * Shape of the `form.Fields` object returned by {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport type SignEmployeeFormFields = UseSignEmployeeFormReady['form']['Fields']\n"],"names":["stateOptions","STATES_ABBR","abbr","preparer1Fields","Preparer1FirstName","Preparer1LastName","Preparer1Street1","Preparer1Street2","Preparer1City","Preparer1State","Preparer1Zip","Preparer1Signature","Preparer1ConfirmSignature","preparer2Fields","Preparer2FirstName","Preparer2LastName","Preparer2Street1","Preparer2Street2","Preparer2City","Preparer2State","Preparer2Zip","Preparer2Signature","Preparer2ConfirmSignature","preparer3Fields","Preparer3FirstName","Preparer3LastName","Preparer3Street1","Preparer3Street2","Preparer3City","Preparer3State","Preparer3Zip","Preparer3Signature","Preparer3ConfirmSignature","preparer4Fields","Preparer4FirstName","Preparer4LastName","Preparer4Street1","Preparer4Street2","Preparer4City","Preparer4State","Preparer4Zip","Preparer4Signature","Preparer4ConfirmSignature","useSignEmployeeForm","employeeId","formId","formQuery","useEmployeeFormsGet","pdfQuery","useEmployeeFormsGetPdf","form","pdfUrl","isI9","I9_FORM_NAME","preparerCount","setPreparerCount","useState","schema","metadataConfig","useMemo","createSignEmployeeFormSchema","formMethods","useForm","zodResolver","signForm","isPending","useEmployeeFormsSignMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","addPreparer","useCallback","prev","MAX_PREPARERS","removePreparer","preparerFields","PREPARER_FIELDS_BY_INDEX","name","usedPreparer","useEffect","i","onSubmit","submitResult","resolve","data","payload","requestBody","buildPreparerPayload","result","hookFormInternals","useHookFormInternals","SignatureField","ConfirmSignatureField","UsedPreparerField","createGetFormSubmissionValues","count","index","preparer","PREPARERS_BY_INDEX"],"mappings":"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"}
@@ -29,48 +29,31 @@ export declare const FILING_STATUS_VALUES: readonly ["Single", "Married", "Head
29
29
  * @public
30
30
  */
31
31
  export type FilingStatusValue = (typeof FILING_STATUS_VALUES)[number];
32
- declare const fieldValidators: {
33
- filingStatus: z.ZodString;
34
- twoJobs: z.ZodPipe<z.ZodTransform<boolean | undefined, unknown>, z.ZodBoolean>;
35
- dependentsAmount: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>;
36
- otherIncome: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>;
37
- deductions: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>;
38
- extraWithholding: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>;
39
- };
40
32
  /**
41
33
  * Field names accepted by the federal taxes form.
42
34
  *
43
35
  * @public
44
36
  */
45
- export type FederalTaxesField = keyof typeof fieldValidators;
37
+ export type FederalTaxesField = "filingStatus" | "twoJobs" | "dependentsAmount" | "otherIncome" | "deductions" | "extraWithholding";
46
38
  /**
47
39
  * Shape of the values managed by the federal taxes form.
48
40
  *
49
41
  * @public
50
42
  */
51
- export type FederalTaxesFormData = {
52
- [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
53
- };
43
+ export type FederalTaxesFormData = { filingStatus: string; twoJobs: boolean; dependentsAmount: number; otherIncome: number; deductions: number; extraWithholding: number; };
54
44
  /**
55
45
  * Shape of the validated values produced by the federal taxes form on submit.
56
46
  *
57
47
  * @public
58
48
  */
59
49
  export type FederalTaxesFormOutputs = FederalTaxesFormData;
60
- declare const requiredFieldsConfig: {
61
- twoJobs: "never";
62
- dependentsAmount: "never";
63
- otherIncome: "never";
64
- deductions: "never";
65
- extraWithholding: "never";
66
- };
67
50
  /**
68
51
  * Keys of optional federal taxes fields that can be promoted to required via
69
52
  * the hook's `optionalFieldsToRequire` option.
70
53
  *
71
54
  * @public
72
55
  */
73
- export type FederalTaxesOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
56
+ export type FederalTaxesOptionalFieldsToRequire = { create?: ("twoJobs" | "dependentsAmount" | "otherIncome" | "deductions" | "extraWithholding")[] | undefined; update?: ("twoJobs" | "dependentsAmount" | "otherIncome" | "deductions" | "extraWithholding")[] | undefined; };
74
57
  /** @internal */
75
58
  interface FederalTaxesSchemaOptions {
76
59
  optionalFieldsToRequire?: FederalTaxesOptionalFieldsToRequire;
@@ -30,43 +30,31 @@ export declare const ACCOUNT_TYPES: readonly ["Checking", "Savings"];
30
30
  * @public
31
31
  */
32
32
  export type AccountType = (typeof ACCOUNT_TYPES)[number];
33
- declare const fieldValidators: {
34
- name: z.ZodString;
35
- routingNumber: z.ZodString;
36
- accountNumber: z.ZodString;
37
- accountType: z.ZodEnum<{
38
- Checking: "Checking";
39
- Savings: "Savings";
40
- }>;
41
- };
42
33
  /**
43
34
  * Field names accepted by the bank account form.
44
35
  *
45
36
  * @public
46
37
  */
47
- export type BankFormField = keyof typeof fieldValidators;
38
+ export type BankFormField = "name" | "routingNumber" | "accountNumber" | "accountType";
48
39
  /**
49
40
  * Shape of the values managed by the bank account form.
50
41
  *
51
42
  * @public
52
43
  */
53
- export type BankFormData = {
54
- [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
55
- };
44
+ export type BankFormData = { name: string; routingNumber: string; accountNumber: string; accountType: "Checking" | "Savings"; };
56
45
  /**
57
46
  * Shape of the validated values produced by the bank account form on submit.
58
47
  *
59
48
  * @public
60
49
  */
61
50
  export type BankFormOutputs = BankFormData;
62
- declare const requiredFieldsConfig: {};
63
51
  /**
64
52
  * Keys of optional bank account fields that can be promoted to required via
65
53
  * the hook's `optionalFieldsToRequire` option.
66
54
  *
67
55
  * @public
68
56
  */
69
- export type BankFormOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
57
+ export type BankFormOptionalFieldsToRequire = { create?: never[] | undefined; update?: never[] | undefined; };
70
58
  /** @internal */
71
59
  interface BankFormSchemaOptions {
72
60
  optionalFieldsToRequire?: BankFormOptionalFieldsToRequire;
@@ -28,40 +28,31 @@ export declare const PAYMENT_METHOD_TYPES: readonly ["Direct Deposit", "Check"];
28
28
  * @public
29
29
  */
30
30
  export type PaymentMethodType = (typeof PAYMENT_METHOD_TYPES)[number];
31
- declare const fieldValidators: {
32
- type: z.ZodEnum<{
33
- Check: "Check";
34
- "Direct Deposit": "Direct Deposit";
35
- }>;
36
- };
37
31
  /**
38
32
  * Field names accepted by the payment method form.
39
33
  *
40
34
  * @public
41
35
  */
42
- export type PaymentMethodFormField = keyof typeof fieldValidators;
36
+ export type PaymentMethodFormField = "type";
43
37
  /**
44
38
  * Shape of the values managed by the payment method form.
45
39
  *
46
40
  * @public
47
41
  */
48
- export type PaymentMethodFormData = {
49
- [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
50
- };
42
+ export type PaymentMethodFormData = { type: "Check" | "Direct Deposit"; };
51
43
  /**
52
44
  * Shape of the validated values produced by the payment method form on submit.
53
45
  *
54
46
  * @public
55
47
  */
56
48
  export type PaymentMethodFormOutputs = PaymentMethodFormData;
57
- declare const requiredFieldsConfig: {};
58
49
  /**
59
50
  * Keys of optional payment method fields that can be promoted to required via
60
51
  * the hook's `optionalFieldsToRequire` option.
61
52
  *
62
53
  * @public
63
54
  */
64
- export type PaymentMethodFormOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
55
+ export type PaymentMethodFormOptionalFieldsToRequire = { create?: never[] | undefined; update?: never[] | undefined; };
65
56
  /** @internal */
66
57
  interface PaymentMethodFormSchemaOptions {
67
58
  optionalFieldsToRequire?: PaymentMethodFormOptionalFieldsToRequire;
@@ -41,20 +41,12 @@ export declare const SPLIT_BY_VALUES: readonly ["Percentage", "Amount"];
41
41
  * @public
42
42
  */
43
43
  export type SplitByValue = (typeof SPLIT_BY_VALUES)[number];
44
- declare const fieldValidators: {
45
- splitBy: z.ZodEnum<{
46
- Percentage: "Percentage";
47
- Amount: "Amount";
48
- }>;
49
- splitAmount: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
50
- priority: z.ZodRecord<z.ZodString, z.ZodNumber>;
51
- };
52
44
  /**
53
45
  * Field names accepted by the split payments form.
54
46
  *
55
47
  * @public
56
48
  */
57
- export type SplitPaymentsFormField = keyof typeof fieldValidators;
49
+ export type SplitPaymentsFormField = "splitBy" | "splitAmount" | "priority";
58
50
  /**
59
51
  * Shape of the values managed by the split payments form. `splitAmount` and
60
52
  * `priority` are keyed by bank account uuid.
@@ -75,14 +67,13 @@ export type SplitPaymentsFormData = {
75
67
  * @public
76
68
  */
77
69
  export type SplitPaymentsFormOutputs = SplitPaymentsFormData;
78
- declare const requiredFieldsConfig: {};
79
70
  /**
80
71
  * Keys of optional split payments fields that can be promoted to required via
81
72
  * the hook's `optionalFieldsToRequire` option.
82
73
  *
83
74
  * @public
84
75
  */
85
- export type SplitPaymentsFormOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
76
+ export type SplitPaymentsFormOptionalFieldsToRequire = { create?: never[] | undefined; update?: never[] | undefined; };
86
77
  /** @internal */
87
78
  interface SplitPaymentsFormSchemaOptions {
88
79
  optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire;
@@ -21,29 +21,18 @@ export declare const EmployeeDetailsErrorCodes: {
21
21
  * @public
22
22
  */
23
23
  export type EmployeeDetailsErrorCode = (typeof EmployeeDetailsErrorCodes)[keyof typeof EmployeeDetailsErrorCodes];
24
- declare const fieldValidators: {
25
- firstName: z.ZodString;
26
- middleInitial: z.ZodString;
27
- lastName: z.ZodString;
28
- email: z.ZodEmail;
29
- dateOfBirth: z.ZodISODate;
30
- ssn: z.ZodString;
31
- selfOnboarding: z.ZodBoolean;
32
- };
33
24
  /**
34
25
  * Field names accepted by the employee details form.
35
26
  *
36
27
  * @public
37
28
  */
38
- export type EmployeeDetailsField = Exclude<keyof typeof fieldValidators, 'selfOnboarding'>;
29
+ export type EmployeeDetailsField = "firstName" | "middleInitial" | "lastName" | "email" | "dateOfBirth" | "ssn";
39
30
  /**
40
31
  * Shape of the values managed by the employee details form.
41
32
  *
42
33
  * @public
43
34
  */
44
- export type EmployeeDetailsFormData = {
45
- [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
46
- };
35
+ export type EmployeeDetailsFormData = { firstName: string; middleInitial: string; lastName: string; email: string; dateOfBirth: string; ssn: string; selfOnboarding: boolean; };
47
36
  /**
48
37
  * Shape of the validated values produced by the employee details form on
49
38
  * submit.
@@ -51,21 +40,13 @@ export type EmployeeDetailsFormData = {
51
40
  * @public
52
41
  */
53
42
  export type EmployeeDetailsFormOutputs = EmployeeDetailsFormData;
54
- declare const requiredFieldsConfig: {
55
- firstName: "create";
56
- lastName: "create";
57
- middleInitial: "never";
58
- email: "never";
59
- dateOfBirth: "never";
60
- ssn: "never";
61
- };
62
43
  /**
63
44
  * Keys of optional employee details fields that can be promoted to required
64
45
  * via the hook's `optionalFieldsToRequire` option.
65
46
  *
66
47
  * @public
67
48
  */
68
- export type EmployeeDetailsOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
49
+ export type EmployeeDetailsOptionalFieldsToRequire = { create?: ("middleInitial" | "email" | "dateOfBirth" | "ssn")[] | undefined; update?: ("firstName" | "middleInitial" | "lastName" | "email" | "dateOfBirth" | "ssn")[] | undefined; };
69
50
  /** @internal */
70
51
  interface EmployeeDetailsSchemaOptions {
71
52
  mode?: 'create' | 'update';
@@ -17,45 +17,31 @@ export declare const HomeAddressErrorCodes: {
17
17
  * @public
18
18
  */
19
19
  export type HomeAddressErrorCode = (typeof HomeAddressErrorCodes)[keyof typeof HomeAddressErrorCodes];
20
- declare const fieldValidators: {
21
- street1: z.ZodString;
22
- street2: z.ZodString;
23
- city: z.ZodString;
24
- state: z.ZodString;
25
- zip: z.ZodString;
26
- courtesyWithholding: z.ZodBoolean;
27
- effectiveDate: z.ZodISODate;
28
- };
29
20
  /**
30
21
  * Field names accepted by the home address form.
31
22
  *
32
23
  * @public
33
24
  */
34
- export type HomeAddressField = keyof typeof fieldValidators;
25
+ export type HomeAddressField = "effectiveDate" | "state" | "street1" | "street2" | "city" | "zip" | "courtesyWithholding";
35
26
  /**
36
27
  * Shape of the values managed by the home address form.
37
28
  *
38
29
  * @public
39
30
  */
40
- export type HomeAddressFormData = {
41
- [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
42
- };
31
+ export type HomeAddressFormData = { street1: string; street2: string; city: string; state: string; zip: string; courtesyWithholding: boolean; effectiveDate: string; };
43
32
  /**
44
33
  * Shape of the validated values produced by the home address form on submit.
45
34
  *
46
35
  * @public
47
36
  */
48
37
  export type HomeAddressFormOutputs = HomeAddressFormData;
49
- declare const requiredFieldsConfig: {
50
- street2: "never";
51
- };
52
38
  /**
53
39
  * Keys of optional home address fields that can be promoted to required via
54
40
  * the hook's `optionalFieldsToRequire` option.
55
41
  *
56
42
  * @public
57
43
  */
58
- export type HomeAddressOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
44
+ export type HomeAddressOptionalFieldsToRequire = { create?: "street2"[] | undefined; update?: "street2"[] | undefined; };
59
45
  /** @internal */
60
46
  interface HomeAddressSchemaOptions {
61
47
  mode?: 'create' | 'update';
@@ -16,38 +16,31 @@ export declare const WorkAddressErrorCodes: {
16
16
  * @public
17
17
  */
18
18
  export type WorkAddressErrorCode = (typeof WorkAddressErrorCodes)[keyof typeof WorkAddressErrorCodes];
19
- declare const fieldValidators: {
20
- locationUuid: z.ZodString;
21
- effectiveDate: z.ZodISODate;
22
- };
23
19
  /**
24
20
  * Field names accepted by the work address form.
25
21
  *
26
22
  * @public
27
23
  */
28
- export type WorkAddressField = keyof typeof fieldValidators;
24
+ export type WorkAddressField = "effectiveDate" | "locationUuid";
29
25
  /**
30
26
  * Shape of the values managed by the work address form.
31
27
  *
32
28
  * @public
33
29
  */
34
- export type WorkAddressFormData = {
35
- [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
36
- };
30
+ export type WorkAddressFormData = { locationUuid: string; effectiveDate: string; };
37
31
  /**
38
32
  * Shape of the validated values produced by the work address form on submit.
39
33
  *
40
34
  * @public
41
35
  */
42
36
  export type WorkAddressFormOutputs = WorkAddressFormData;
43
- declare const requiredFieldsConfig: {};
44
37
  /**
45
38
  * Keys of optional work address fields that can be promoted to required via
46
39
  * the hook's `optionalFieldsToRequire` option.
47
40
  *
48
41
  * @public
49
42
  */
50
- export type WorkAddressOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
43
+ export type WorkAddressOptionalFieldsToRequire = { create?: never[] | undefined; update?: never[] | undefined; };
51
44
  /** @internal */
52
45
  interface WorkAddressSchemaOptions {
53
46
  mode?: 'create' | 'update';
@@ -18,12 +18,13 @@ import "@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror"
18
18
  import "@gusto/embedded-api-v-2025-11-15/models/errors/httpclienterrors";
19
19
  import { formatNumberAsCurrency as V } from "../../../helpers/formattedStrings.js";
20
20
  import "../../../shared/constants.js";
21
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
21
22
  import { useI18n as E } from "../../../i18n/I18n.js";
22
23
  import { NumberInputField as T } from "../../Common/Fields/NumberInputField/NumberInputField.js";
23
24
  const q = P.object({
24
25
  netPay: P.number().positive()
25
26
  });
26
- function pe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
27
+ function fe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
27
28
  E("Payroll.GrossUpModal");
28
29
  const { t: r } = k("Payroll.GrossUpModal"), { Modal: M, Heading: u, Text: p, Button: i, Alert: f } = H(), { baseSubmitHandler: y } = L(), N = R(null), [l, c] = o(null), [h, m] = o(null), [g, b] = o(!1), [x, v] = o(!1), s = U({
29
30
  resolver: z(q),
@@ -110,6 +111,6 @@ function pe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
110
111
  );
111
112
  }
112
113
  export {
113
- pe as GrossUpModal
114
+ fe as GrossUpModal
114
115
  };
115
116
  //# sourceMappingURL=GrossUpModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n defaultValues: { netPay: 0 },\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset({ netPay: 0 })\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n <Flex flexDirection=\"row\" gap={8}>\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp && (\n <>\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n </>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n defaultValues: { netPay: 0 },\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset({ netPay: 0 })\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n <Flex flexDirection=\"row\" gap={8}>\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp && (\n <>\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n </>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField","Fragment"],"mappings":"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"}
@@ -17,25 +17,9 @@ interface PayrollEditEmployeeProps {
17
17
  withReimbursements?: boolean;
18
18
  hasDirectDepositSetup?: boolean;
19
19
  }
20
- declare const PayrollEditEmployeeFormSchema: z.ZodObject<{
21
- hourlyCompensations: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>;
22
- timeOffCompensations: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>;
23
- finalPayoutCompensations: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>;
24
- fixedCompensations: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>;
25
- reimbursements: z.ZodArray<z.ZodObject<{
26
- uuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
- description: z.ZodString;
28
- amount: z.ZodString;
29
- recurring: z.ZodOptional<z.ZodBoolean>;
30
- }, z.core.$strip>>;
31
- paymentMethod: z.ZodOptional<z.ZodEnum<{
32
- readonly DirectDeposit: "Direct Deposit";
33
- readonly Check: "Check";
34
- readonly Historical: "Historical";
35
- }>>;
36
- }, z.core.$strip>;
20
+
37
21
  /** @internal */
38
- export type PayrollEditEmployeeFormValues = z.infer<typeof PayrollEditEmployeeFormSchema>;
22
+ export type PayrollEditEmployeeFormValues = { hourlyCompensations: Record<string, Record<string, string | undefined>>; timeOffCompensations: Record<string, string | undefined>; finalPayoutCompensations: Record<string, string | undefined>; fixedCompensations: Record<string, string | undefined>; reimbursements: { description: string; amount: string; uuid?: string | null | undefined; recurring?: boolean | undefined; }[]; paymentMethod?: "Check" | "Historical" | "Direct Deposit" | undefined; };
39
23
  /** @internal */
40
24
  export declare const PayrollEditEmployeePresentation: ({ onSave, onCancel, employee, employeeCompensation, isPending, fixedCompensationTypes, payPeriodStartDate, paySchedule, payrollCategory, withReimbursements, hasDirectDepositSetup, }: PayrollEditEmployeeProps) => import("react").JSX.Element;
41
25
  export {};