@gusto/embedded-react-sdk 0.47.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (850) hide show
  1. package/CHANGELOG.md +151 -0
  2. package/dist/components/Common/ActionsLayout/ActionsLayout.d.ts +1 -0
  3. package/dist/components/Common/ActionsLayout/ActionsLayout.js.map +1 -1
  4. package/dist/components/Common/Alert/Alert.d.ts +2 -0
  5. package/dist/components/Common/DataView/DataCards/DataCards.d.ts +2 -0
  6. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  7. package/dist/components/Common/DataView/DataTable/DataTable.d.ts +2 -0
  8. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  9. package/dist/components/Common/DataView/DataView.d.ts +2 -0
  10. package/dist/components/Common/DataView/DataView.js.map +1 -1
  11. package/dist/components/Common/DataView/useDataView.d.ts +4 -0
  12. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  13. package/dist/components/Common/DataView/useSelectionState.d.ts +1 -0
  14. package/dist/components/Common/DataView/useSelectionState.js.map +1 -1
  15. package/dist/components/Common/DateRangeFilter/DateRangeFilter.d.ts +1 -0
  16. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
  17. package/dist/components/Common/DetailViewLayout/DetailViewLayout.d.ts +1 -0
  18. package/dist/components/Common/DetailViewLayout/DetailViewLayout.js.map +1 -1
  19. package/dist/components/Common/DetailViewLayout/DetailViewLayoutTypes.d.ts +1 -0
  20. package/dist/components/Common/DocumentList/DocumentList.d.ts +6 -0
  21. package/dist/components/Common/DocumentList/DocumentList.js.map +1 -1
  22. package/dist/components/Common/DocumentViewer/DocumentViewer.d.ts +1 -0
  23. package/dist/components/Common/DocumentViewer/DocumentViewer.js.map +1 -1
  24. package/dist/components/Common/EmptyData/EmptyData.d.ts +1 -0
  25. package/dist/components/Common/EmptyData/EmptyData.js.map +1 -1
  26. package/dist/components/Common/FadeIn/FadeIn.d.ts +1 -0
  27. package/dist/components/Common/FadeIn/FadeIn.js.map +1 -1
  28. package/dist/components/Common/FieldCaption/FieldCaption.d.ts +8 -0
  29. package/dist/components/Common/FieldCaption/FieldCaption.js.map +1 -1
  30. package/dist/components/Common/FieldDescription/FieldDescription.d.ts +5 -0
  31. package/dist/components/Common/FieldDescription/FieldDescription.js.map +1 -1
  32. package/dist/components/Common/FieldErrorMessage/FieldErrorMessage.d.ts +5 -0
  33. package/dist/components/Common/FieldErrorMessage/FieldErrorMessage.js.map +1 -1
  34. package/dist/components/Common/FieldLayout/FieldLayout.d.ts +5 -0
  35. package/dist/components/Common/FieldLayout/FieldLayout.js.map +1 -1
  36. package/dist/components/Common/FieldLayout/FieldLayoutTypes.d.ts +15 -0
  37. package/dist/components/Common/Fieldset/Fieldset.d.ts +2 -0
  38. package/dist/components/Common/Fieldset/Fieldset.js.map +1 -1
  39. package/dist/components/Common/Flex/Flex.d.ts +4 -0
  40. package/dist/components/Common/Flex/Flex.js.map +1 -1
  41. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.d.ts +20 -0
  42. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -1
  43. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes.d.ts +33 -7
  44. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.d.ts +16 -0
  45. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
  46. package/dist/components/Common/Form/Form.d.ts +2 -0
  47. package/dist/components/Common/Form/Form.js.map +1 -1
  48. package/dist/components/Common/Grid/Grid.d.ts +2 -0
  49. package/dist/components/Common/Grid/Grid.js.map +1 -1
  50. package/dist/components/Common/HamburgerMenu/HamburgerMenu.d.ts +7 -0
  51. package/dist/components/Common/HamburgerMenu/HamburgerMenu.js.map +1 -1
  52. package/dist/components/Common/HamburgerMenu/HamburgerMenuTypes.d.ts +11 -0
  53. package/dist/components/Common/HorizontalFieldLayout/HorizontalFieldLayout.d.ts +7 -0
  54. package/dist/components/Common/HorizontalFieldLayout/HorizontalFieldLayout.js.map +1 -1
  55. package/dist/components/Common/HorizontalFieldLayout/HorizontalFieldLayoutTypes.d.ts +14 -0
  56. package/dist/components/Common/InlineSpinner/InlineSpinner.d.ts +1 -0
  57. package/dist/components/Common/InlineSpinner/InlineSpinner.js.map +1 -1
  58. package/dist/components/Common/InternalError/InternalError.d.ts +1 -0
  59. package/dist/components/Common/InternalError/InternalError.js.map +1 -1
  60. package/dist/components/Common/Loading/Loading.d.ts +2 -0
  61. package/dist/components/Common/Loading/Loading.js.map +1 -1
  62. package/dist/components/Common/OnboardingStatusBadge/index.d.ts +3 -0
  63. package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
  64. package/dist/components/Common/ReorderableList/DropZone.d.ts +1 -0
  65. package/dist/components/Common/ReorderableList/DropZone.js.map +1 -1
  66. package/dist/components/Common/ReorderableList/ReorderableItem.d.ts +1 -3
  67. package/dist/components/Common/ReorderableList/ReorderableItem.js.map +1 -1
  68. package/dist/components/Common/ReorderableList/ReorderableList.d.ts +1 -0
  69. package/dist/components/Common/ReorderableList/ReorderableList.js.map +1 -1
  70. package/dist/components/Common/ReorderableList/ReorderableListTypes.d.ts +4 -0
  71. package/dist/components/Common/ReorderableList/constants.d.ts +1 -3
  72. package/dist/components/Common/ReorderableList/constants.js.map +1 -1
  73. package/dist/components/Common/RequirementsList/RequirementsList.d.ts +1 -0
  74. package/dist/components/Common/RequirementsList/RequirementsList.js.map +1 -1
  75. package/dist/components/Common/TaxInputs/TaxInputs.d.ts +7 -0
  76. package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
  77. package/dist/components/Common/Toast/Toast.d.ts +1 -0
  78. package/dist/components/Common/VisuallyHidden/VisuallyHidden.d.ts +2 -0
  79. package/dist/components/Common/VisuallyHidden/VisuallyHidden.js.map +1 -1
  80. package/dist/components/Company/AssignSignatory/AssignSignatory.js +10 -7
  81. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  82. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +4 -3
  83. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  84. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +1 -1
  85. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +9 -6
  86. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  87. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +16 -15
  88. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  89. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -5
  90. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  91. package/dist/components/Company/AssignSignatory/Head.js +9 -8
  92. package/dist/components/Company/AssignSignatory/Head.js.map +1 -1
  93. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +1 -1
  94. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +8 -5
  95. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  96. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +21 -20
  97. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  98. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -5
  99. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  100. package/dist/components/Company/AssignSignatory/TitleSelect.js +4 -2
  101. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  102. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -7
  103. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  104. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +9 -8
  105. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  106. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +11 -9
  107. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  108. package/dist/components/Company/BankAccount/BankAccountForm/Head.js +3 -2
  109. package/dist/components/Company/BankAccount/BankAccountForm/Head.js.map +1 -1
  110. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -5
  111. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  112. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +1 -1
  113. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +1 -1
  114. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +6 -4
  115. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  116. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +1 -1
  117. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +14 -11
  118. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  119. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -5
  120. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  121. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +8 -7
  122. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  123. package/dist/components/Company/FederalTaxes/Actions.js +1 -1
  124. package/dist/components/Company/FederalTaxes/FederalTaxes.js +10 -7
  125. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  126. package/dist/components/Company/FederalTaxes/Form.js +5 -5
  127. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  128. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +8 -10
  129. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  130. package/dist/components/Company/Industry/Actions.js +1 -1
  131. package/dist/components/Company/Industry/Context.js +6 -8
  132. package/dist/components/Company/Industry/Context.js.map +1 -1
  133. package/dist/components/Company/Industry/Edit.js +6 -5
  134. package/dist/components/Company/Industry/Edit.js.map +1 -1
  135. package/dist/components/Company/Industry/IndustrySelect.js +8 -6
  136. package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
  137. package/dist/components/Company/Locations/LocationForm/Actions.js +1 -1
  138. package/dist/components/Company/Locations/LocationForm/Form.js +6 -4
  139. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  140. package/dist/components/Company/Locations/LocationForm/LocationForm.js +17 -14
  141. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  142. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -5
  143. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  144. package/dist/components/Company/Locations/LocationsList/Actions.js +1 -1
  145. package/dist/components/Company/Locations/LocationsList/List.js +11 -12
  146. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  147. package/dist/components/Company/Locations/LocationsList/LocationsList.js +12 -9
  148. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  149. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -5
  150. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  151. package/dist/components/Company/OnboardingOverview/Completed.js +6 -5
  152. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  153. package/dist/components/Company/OnboardingOverview/MissingRequirements.js +9 -8
  154. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  155. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +5 -2
  156. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  157. package/dist/components/Company/OnboardingOverview/context.js +3 -5
  158. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  159. package/dist/components/Company/PaySchedule/PayScheduleList.js +8 -8
  160. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +1 -1
  161. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -5
  162. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  163. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +1 -1
  164. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +3 -2
  165. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  166. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -5
  167. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  168. package/dist/components/Contractor/Address/Address.js +5 -2
  169. package/dist/components/Contractor/Address/Address.js.map +1 -1
  170. package/dist/components/Contractor/Address/Form.js +8 -6
  171. package/dist/components/Contractor/Address/Form.js.map +1 -1
  172. package/dist/components/Contractor/Address/Head.js +5 -4
  173. package/dist/components/Contractor/Address/Head.js.map +1 -1
  174. package/dist/components/Contractor/Address/useAddress.js +5 -7
  175. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  176. package/dist/components/Contractor/ContractorList/index.js +4 -4
  177. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +4 -2
  178. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
  179. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +4 -2
  180. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +1 -1
  181. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +10 -10
  182. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.d.ts +2 -2
  183. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js +3 -2
  184. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
  185. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +15 -15
  186. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +4 -3
  187. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  188. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +6 -6
  189. package/dist/components/Contractor/Submit/Submit.js +3 -2
  190. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  191. package/dist/components/Contractor/exports/contractorManagement.d.ts +6 -0
  192. package/dist/components/Contractor/exports/contractorManagement.js +15 -0
  193. package/dist/components/Contractor/exports/contractorManagement.js.map +1 -0
  194. package/dist/components/Employee/Compensation/management/Compensation.d.ts +35 -0
  195. package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
  196. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.d.ts +23 -3
  197. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js.map +1 -1
  198. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.d.ts +21 -10
  199. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
  200. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.d.ts +24 -7
  201. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js +18 -18
  202. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  203. package/dist/components/Employee/Compensation/management/CompensationCard/index.d.ts +0 -1
  204. package/dist/components/Employee/Compensation/management/CompensationComponents.d.ts +7 -1
  205. package/dist/components/Employee/Compensation/management/CompensationComponents.js.map +1 -1
  206. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +27 -15
  207. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
  208. package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.d.ts +12 -0
  209. package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js.map +1 -1
  210. package/dist/components/Employee/Compensation/management/CompensationEditPendingJobForm/CompensationEditPendingJobForm.d.ts +12 -0
  211. package/dist/components/Employee/Compensation/management/CompensationEditPendingJobForm/CompensationEditPendingJobForm.js.map +1 -1
  212. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.d.ts +3 -0
  213. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +3 -2
  214. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
  215. package/dist/components/Employee/Compensation/management/compensationStateMachine.d.ts +1 -0
  216. package/dist/components/Employee/Compensation/management/compensationStateMachine.js.map +1 -1
  217. package/dist/components/Employee/Compensation/management/useManagementCompensationDictionary.d.ts +2 -0
  218. package/dist/components/Employee/Compensation/management/useManagementCompensationDictionary.js.map +1 -1
  219. package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +61 -0
  220. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  221. package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.d.ts +5 -0
  222. package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.js.map +1 -1
  223. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +32 -9
  224. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
  225. package/dist/components/Employee/Compensation/onboarding/EditCompensation/index.d.ts +1 -2
  226. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.d.ts +3 -0
  227. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
  228. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.d.ts +9 -0
  229. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js +7 -7
  230. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
  231. package/dist/components/Employee/Compensation/onboarding/JobsList/index.d.ts +1 -4
  232. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.d.ts +1 -0
  233. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
  234. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.d.ts +5 -0
  235. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +3 -2
  236. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
  237. package/dist/components/Employee/Compensation/shared/PendingChangesReviewModal.d.ts +2 -0
  238. package/dist/components/Employee/Compensation/shared/PendingChangesReviewModal.js.map +1 -1
  239. package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.d.ts +2 -0
  240. package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.js.map +1 -1
  241. package/dist/components/Employee/Compensation/shared/getPendingCompensationChanges.d.ts +4 -0
  242. package/dist/components/Employee/Compensation/shared/getPendingCompensationChanges.js.map +1 -1
  243. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +98 -0
  244. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
  245. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +168 -0
  246. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
  247. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
  248. package/dist/components/Employee/Compensation/shared/useCompensationForm/index.d.ts +1 -0
  249. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.d.ts +153 -6
  250. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  251. package/dist/components/Employee/Compensation/shared/useCompensationManagement/index.d.ts +1 -1
  252. package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.d.ts +19 -0
  253. package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js.map +1 -1
  254. package/dist/components/Employee/Compensation/shared/useJobForm/fields.d.ts +101 -0
  255. package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +10 -10
  256. package/dist/components/Employee/Compensation/shared/useJobForm/fields.js.map +1 -1
  257. package/dist/components/Employee/Compensation/shared/useJobForm/index.d.ts +1 -0
  258. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +75 -0
  259. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -1
  260. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +137 -8
  261. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
  262. package/dist/components/Employee/Compensation/shared/usePendingChangeDetailRenderer.d.ts +2 -0
  263. package/dist/components/Employee/Compensation/shared/usePendingChangeDetailRenderer.js.map +1 -1
  264. package/dist/components/Employee/Dashboard/BasicDetailsView.d.ts +18 -4
  265. package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
  266. package/dist/components/Employee/Dashboard/Dashboard.d.ts +3 -0
  267. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  268. package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +21 -1
  269. package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
  270. package/dist/components/Employee/Dashboard/DashboardFlow.d.ts +116 -0
  271. package/dist/components/Employee/Dashboard/DashboardFlow.js.map +1 -1
  272. package/dist/components/Employee/Dashboard/JobAndPayView.d.ts +20 -0
  273. package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
  274. package/dist/components/Employee/Dashboard/TaxesView.d.ts +36 -3
  275. package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
  276. package/dist/components/Employee/Dashboard/dashboardStateMachine.d.ts +1 -0
  277. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  278. package/dist/components/Employee/Dashboard/index.d.ts +0 -6
  279. package/dist/components/Employee/Deductions/management/Deductions.d.ts +30 -0
  280. package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
  281. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.d.ts +21 -8
  282. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +16 -16
  283. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
  284. package/dist/components/Employee/Deductions/management/DeductionsComponents.d.ts +5 -1
  285. package/dist/components/Employee/Deductions/management/DeductionsComponents.js.map +1 -1
  286. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.d.ts +21 -7
  287. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
  288. package/dist/components/Employee/Deductions/management/DeductionsEditForm/useFormDictionary.d.ts +2 -0
  289. package/dist/components/Employee/Deductions/management/DeductionsEditForm/useFormDictionary.js.map +1 -1
  290. package/dist/components/Employee/Deductions/management/deductionsStateMachine.d.ts +1 -0
  291. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
  292. package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +45 -0
  293. package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
  294. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.d.ts +2 -0
  295. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js +12 -12
  296. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js.map +1 -1
  297. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.d.ts +2 -0
  298. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.js +6 -5
  299. package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.js.map +1 -1
  300. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.d.ts +5 -0
  301. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js.map +1 -1
  302. package/dist/components/Employee/Deductions/onboarding/stateMachine.d.ts +1 -0
  303. package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
  304. package/dist/components/Employee/Deductions/onboarding/useFormDictionary.d.ts +2 -0
  305. package/dist/components/Employee/Deductions/onboarding/useFormDictionary.js.map +1 -1
  306. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.d.ts +1 -0
  307. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +7 -6
  308. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
  309. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.d.ts +7 -0
  310. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
  311. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.d.ts +1 -0
  312. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js +15 -14
  313. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js.map +1 -1
  314. package/dist/components/Employee/Deductions/shared/DeductionsForm/index.d.ts +1 -1
  315. package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.d.ts +2 -0
  316. package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.js.map +1 -1
  317. package/dist/components/Employee/Deductions/shared/formatDeductionAmount.d.ts +2 -0
  318. package/dist/components/Employee/Deductions/shared/formatDeductionAmount.js.map +1 -1
  319. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +38 -5
  320. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
  321. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.d.ts +207 -0
  322. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
  323. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js.map +1 -1
  324. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/index.d.ts +3 -2
  325. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.d.ts +129 -3
  326. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
  327. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +29 -1
  328. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js.map +1 -1
  329. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.d.ts +158 -0
  330. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
  331. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js.map +1 -1
  332. package/dist/components/Employee/Deductions/shared/useDeductionForm/index.d.ts +3 -2
  333. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +131 -4
  334. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
  335. package/dist/components/Employee/Deductions/shared/useDeductionsList.d.ts +6 -1
  336. package/dist/components/Employee/Deductions/shared/useDeductionsList.js.map +1 -1
  337. package/dist/components/Employee/Deductions/shared/useDeleteDeduction.d.ts +2 -0
  338. package/dist/components/Employee/Deductions/shared/useDeleteDeduction.js.map +1 -1
  339. package/dist/components/Employee/Documents/management/DocumentManager.d.ts +3 -0
  340. package/dist/components/Employee/Documents/management/DocumentManager.js +7 -6
  341. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  342. package/dist/components/Employee/Documents/management/Documents.d.ts +24 -0
  343. package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
  344. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.d.ts +17 -7
  345. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +15 -14
  346. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
  347. package/dist/components/Employee/Documents/management/DocumentsComponents.d.ts +3 -0
  348. package/dist/components/Employee/Documents/management/DocumentsComponents.js.map +1 -1
  349. package/dist/components/Employee/Documents/management/documentsStateMachine.d.ts +1 -0
  350. package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
  351. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.d.ts +1 -0
  352. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +1 -1
  353. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
  354. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +1 -0
  355. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js +13 -10
  356. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  357. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Head.d.ts +1 -0
  358. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Head.js.map +1 -1
  359. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.d.ts +1 -0
  360. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js +4 -2
  361. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js.map +1 -1
  362. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -5
  363. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  364. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.d.ts +29 -0
  365. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
  366. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.d.ts +23 -0
  367. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  368. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +1 -0
  369. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +6 -6
  370. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
  371. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.d.ts +3 -0
  372. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -1
  373. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/countries.d.ts +1 -0
  374. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/countries.js.map +1 -1
  375. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +1 -0
  376. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +4 -3
  377. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  378. package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.d.ts +6 -0
  379. package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.js.map +1 -1
  380. package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.d.ts +1 -0
  381. package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.js.map +1 -1
  382. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.d.ts +27 -2
  383. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  384. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +3 -0
  385. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +7 -6
  386. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
  387. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/index.d.ts +1 -1
  388. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +1 -0
  389. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js +11 -10
  390. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
  391. package/dist/components/Employee/Documents/shared/useDocumentsList/index.d.ts +0 -1
  392. package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.d.ts +23 -6
  393. package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.js.map +1 -1
  394. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.d.ts +326 -0
  395. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
  396. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js.map +1 -1
  397. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/index.d.ts +2 -1
  398. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +62 -0
  399. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
  400. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +130 -0
  401. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
  402. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.d.ts +30 -3
  403. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +17 -21
  404. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  405. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +2 -0
  406. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +12 -12
  407. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  408. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.d.ts +23 -2
  409. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +38 -35
  410. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
  411. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +2 -0
  412. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +10 -10
  413. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  414. package/dist/components/Employee/EmployeeList/shared/index.d.ts +1 -1
  415. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +86 -11
  416. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +50 -62
  417. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  418. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +34 -0
  419. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
  420. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +11 -0
  421. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -1
  422. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.d.ts +1 -0
  423. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  424. package/dist/components/Employee/FederalTaxes/index.d.ts +2 -5
  425. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.d.ts +27 -0
  426. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
  427. package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.d.ts +9 -0
  428. package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js +16 -15
  429. package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js.map +1 -1
  430. package/dist/components/Employee/FederalTaxes/management/FederalTaxesComponents.d.ts +5 -1
  431. package/dist/components/Employee/FederalTaxes/management/FederalTaxesComponents.js.map +1 -1
  432. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.d.ts +24 -0
  433. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +8 -7
  434. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
  435. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.d.ts +1 -0
  436. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
  437. package/dist/components/Employee/FederalTaxes/management/useViewDictionary.d.ts +2 -0
  438. package/dist/components/Employee/FederalTaxes/management/useViewDictionary.js.map +1 -1
  439. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.d.ts +24 -0
  440. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +13 -12
  441. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
  442. package/dist/components/Employee/FederalTaxes/onboarding/useViewDictionary.d.ts +2 -0
  443. package/dist/components/Employee/FederalTaxes/onboarding/useViewDictionary.js.map +1 -1
  444. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.d.ts +4 -0
  445. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js.map +1 -1
  446. package/dist/components/Employee/FederalTaxes/shared/index.d.ts +1 -2
  447. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +46 -0
  448. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js.map +1 -1
  449. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.d.ts +112 -0
  450. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
  451. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js.map +1 -1
  452. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/index.d.ts +1 -0
  453. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts +112 -0
  454. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js.map +1 -1
  455. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/index.d.ts +0 -1
  456. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.d.ts +14 -1
  457. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.js.map +1 -1
  458. package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +21 -0
  459. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
  460. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.d.ts +17 -5
  461. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js +8 -7
  462. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
  463. package/dist/components/Employee/HomeAddress/management/HomeAddressComponents.d.ts +3 -0
  464. package/dist/components/Employee/HomeAddress/management/HomeAddressComponents.js.map +1 -1
  465. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.d.ts +20 -0
  466. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
  467. package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +2 -0
  468. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +5 -5
  469. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  470. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.d.ts +7 -1
  471. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js.map +1 -1
  472. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.d.ts +1 -0
  473. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js.map +1 -1
  474. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.d.ts +46 -7
  475. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
  476. package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/index.d.ts +0 -1
  477. package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.d.ts +21 -6
  478. package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.js.map +1 -1
  479. package/dist/components/Employee/Landing/Landing.d.ts +6 -0
  480. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  481. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.d.ts +43 -0
  482. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js.map +1 -1
  483. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +17 -0
  484. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
  485. package/dist/components/Employee/OnboardingExecutionFlow/index.d.ts +2 -2
  486. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.d.ts +7 -0
  487. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
  488. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.d.ts +59 -0
  489. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
  490. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.d.ts +2 -1
  491. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  492. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.d.ts +1 -0
  493. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  494. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.d.ts +7 -0
  495. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +4 -4
  496. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  497. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.d.ts +39 -0
  498. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
  499. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.d.ts +23 -6
  500. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
  501. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.d.ts +24 -7
  502. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js +14 -14
  503. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js.map +1 -1
  504. package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.d.ts +5 -0
  505. package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js.map +1 -1
  506. package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.d.ts +23 -6
  507. package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.js.map +1 -1
  508. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.d.ts +1 -0
  509. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
  510. package/dist/components/Employee/PaymentMethod/management/useFormDictionary.d.ts +4 -0
  511. package/dist/components/Employee/PaymentMethod/management/useFormDictionary.js.map +1 -1
  512. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.d.ts +2 -0
  513. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
  514. package/dist/components/Employee/PaymentMethod/onboarding/ListView.d.ts +1 -0
  515. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +8 -8
  516. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
  517. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.d.ts +43 -0
  518. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
  519. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethodComponents.d.ts +4 -0
  520. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethodComponents.js.map +1 -1
  521. package/dist/components/Employee/PaymentMethod/onboarding/SplitView.d.ts +2 -0
  522. package/dist/components/Employee/PaymentMethod/onboarding/SplitView.js.map +1 -1
  523. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.d.ts +1 -0
  524. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
  525. package/dist/components/Employee/PaymentMethod/onboarding/useFormDictionary.d.ts +4 -0
  526. package/dist/components/Employee/PaymentMethod/onboarding/useFormDictionary.js.map +1 -1
  527. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.d.ts +4 -0
  528. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +6 -6
  529. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
  530. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/index.d.ts +1 -1
  531. package/dist/components/Employee/PaymentMethod/shared/DeleteBankAccountDialog.d.ts +2 -0
  532. package/dist/components/Employee/PaymentMethod/shared/DeleteBankAccountDialog.js.map +1 -1
  533. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.d.ts +4 -0
  534. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js +11 -10
  535. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js.map +1 -1
  536. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/index.d.ts +1 -1
  537. package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.d.ts +80 -0
  538. package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
  539. package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js.map +1 -1
  540. package/dist/components/Employee/PaymentMethod/shared/useBankForm/index.d.ts +1 -1
  541. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.d.ts +84 -1
  542. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js.map +1 -1
  543. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +45 -0
  544. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.js.map +1 -1
  545. package/dist/components/Employee/PaymentMethod/shared/useDeleteBankAccount.d.ts +1 -0
  546. package/dist/components/Employee/PaymentMethod/shared/useDeleteBankAccount.js.map +1 -1
  547. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/fields.d.ts +22 -0
  548. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/fields.js.map +1 -1
  549. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/index.d.ts +2 -2
  550. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.d.ts +84 -1
  551. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js.map +1 -1
  552. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.d.ts +45 -0
  553. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.js.map +1 -1
  554. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.d.ts +6 -0
  555. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.js.map +1 -1
  556. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/fields.d.ts +22 -0
  557. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/fields.js.map +1 -1
  558. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/index.d.ts +2 -2
  559. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.d.ts +25 -0
  560. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
  561. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.d.ts +124 -7
  562. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js.map +1 -1
  563. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +52 -6
  564. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.js +1 -2
  565. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.js.map +1 -1
  566. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.d.ts +9 -0
  567. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +12 -12
  568. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
  569. package/dist/components/Employee/Paystubs/shared/usePaystubsList/index.d.ts +1 -1
  570. package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.d.ts +25 -0
  571. package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.js.map +1 -1
  572. package/dist/components/Employee/Profile/management/Profile.d.ts +25 -0
  573. package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
  574. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.d.ts +22 -6
  575. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +12 -11
  576. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  577. package/dist/components/Employee/Profile/management/ProfileComponents.d.ts +5 -1
  578. package/dist/components/Employee/Profile/management/ProfileComponents.js.map +1 -1
  579. package/dist/components/Employee/Profile/management/ProfileEditForm.d.ts +25 -0
  580. package/dist/components/Employee/Profile/management/ProfileEditForm.js +8 -8
  581. package/dist/components/Employee/Profile/management/ProfileEditForm.js.map +1 -1
  582. package/dist/components/Employee/Profile/management/profileStateMachine.d.ts +1 -0
  583. package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
  584. package/dist/components/Employee/Profile/onboarding/AdminProfile.d.ts +1 -0
  585. package/dist/components/Employee/Profile/onboarding/AdminProfile.js +6 -6
  586. package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
  587. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.d.ts +1 -0
  588. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +7 -7
  589. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js.map +1 -1
  590. package/dist/components/Employee/Profile/onboarding/Profile.d.ts +61 -0
  591. package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -1
  592. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +37 -0
  593. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.js.map +1 -1
  594. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.d.ts +170 -0
  595. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +4 -4
  596. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js.map +1 -1
  597. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/index.d.ts +4 -2
  598. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +140 -1
  599. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
  600. package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/index.d.ts +0 -1
  601. package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.d.ts +37 -4
  602. package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js.map +1 -1
  603. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.d.ts +130 -0
  604. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +4 -4
  605. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js.map +1 -1
  606. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +35 -0
  607. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js.map +1 -1
  608. package/dist/components/Employee/Profile/shared/useHomeAddressForm/index.d.ts +2 -1
  609. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.d.ts +45 -0
  610. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js.map +1 -1
  611. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +77 -1
  612. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
  613. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.d.ts +43 -0
  614. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js.map +1 -1
  615. package/dist/components/Employee/Profile/shared/useWorkAddressForm/index.d.ts +2 -1
  616. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.d.ts +42 -0
  617. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js.map +1 -1
  618. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +85 -0
  619. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  620. package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.d.ts +35 -0
  621. package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.js.map +1 -1
  622. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +16 -0
  623. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
  624. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.d.ts +31 -0
  625. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
  626. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.d.ts +1 -0
  627. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
  628. package/dist/components/Employee/StateTaxes/index.d.ts +1 -1
  629. package/dist/components/Employee/StateTaxes/management/StateTaxes.d.ts +24 -0
  630. package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
  631. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.d.ts +21 -6
  632. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js +12 -11
  633. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
  634. package/dist/components/Employee/StateTaxes/management/StateTaxesComponents.d.ts +4 -0
  635. package/dist/components/Employee/StateTaxes/management/StateTaxesComponents.js.map +1 -1
  636. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.d.ts +20 -8
  637. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +11 -10
  638. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
  639. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.d.ts +1 -0
  640. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
  641. package/dist/components/Employee/StateTaxes/management/useViewDictionary.d.ts +2 -0
  642. package/dist/components/Employee/StateTaxes/management/useViewDictionary.js.map +1 -1
  643. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.d.ts +22 -0
  644. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +8 -7
  645. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
  646. package/dist/components/Employee/StateTaxes/onboarding/useViewDictionary.d.ts +2 -0
  647. package/dist/components/Employee/StateTaxes/onboarding/useViewDictionary.js.map +1 -1
  648. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.d.ts +4 -0
  649. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -1
  650. package/dist/components/Employee/StateTaxes/shared/index.d.ts +1 -2
  651. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.d.ts +39 -16
  652. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.js.map +1 -1
  653. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.d.ts +6 -0
  654. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js.map +1 -1
  655. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.d.ts +4 -9
  656. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.js.map +1 -1
  657. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMeta.d.ts +5 -1
  658. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldProps.d.ts +52 -0
  659. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +26 -5
  660. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
  661. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.d.ts +106 -0
  662. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
  663. package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/index.d.ts +0 -1
  664. package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.d.ts +5 -8
  665. package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.js.map +1 -1
  666. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.d.ts +53 -0
  667. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  668. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +1 -0
  669. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +7 -6
  670. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  671. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.d.ts +47 -0
  672. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
  673. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +20 -0
  674. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js +10 -9
  675. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
  676. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.d.ts +2 -0
  677. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  678. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.d.ts +48 -0
  679. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
  680. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.d.ts +1 -0
  681. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +3 -2
  682. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
  683. package/dist/components/Employee/Terminations/types.d.ts +16 -0
  684. package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +21 -0
  685. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
  686. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.d.ts +17 -6
  687. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js +17 -16
  688. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
  689. package/dist/components/Employee/WorkAddress/management/WorkAddressComponents.d.ts +3 -0
  690. package/dist/components/Employee/WorkAddress/management/WorkAddressComponents.js.map +1 -1
  691. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.d.ts +20 -0
  692. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
  693. package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +2 -0
  694. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +7 -7
  695. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  696. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.d.ts +2 -0
  697. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js.map +1 -1
  698. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.d.ts +46 -7
  699. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
  700. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.d.ts +1 -0
  701. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
  702. package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/index.d.ts +0 -1
  703. package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.d.ts +21 -4
  704. package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
  705. package/dist/components/Employee/exports/employeeManagement.d.ts +7 -4
  706. package/dist/components/Employee/exports/employeeManagement.js +26 -26
  707. package/dist/components/Employee/exports/employeeOnboarding.d.ts +11 -9
  708. package/dist/components/Employee/exports/employeeOnboarding.js +20 -16
  709. package/dist/components/Employee/exports/employeeOnboarding.js.map +1 -1
  710. package/dist/components/Employee/index.d.ts +0 -1
  711. package/dist/components/Flow/FlowHeader.js +4 -3
  712. package/dist/components/Flow/FlowHeader.js.map +1 -1
  713. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +19 -18
  714. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  715. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +8 -7
  716. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  717. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +5 -4
  718. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  719. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +9 -8
  720. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  721. package/dist/components/Payroll/Dismissal/index.d.ts +2 -0
  722. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +5 -5
  723. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +10 -10
  724. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +2 -1
  725. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
  726. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +1 -1
  727. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +2 -3
  728. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  729. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +8 -7
  730. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  731. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +18 -18
  732. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +295 -289
  733. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  734. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +18 -18
  735. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +15 -15
  736. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +4 -4
  737. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +3 -2
  738. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
  739. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +3 -2
  740. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  741. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +2 -1
  742. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  743. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js +3 -2
  744. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
  745. package/dist/components/Payroll/index.d.ts +2 -0
  746. package/dist/components/Payroll/index.js +24 -22
  747. package/dist/components/Payroll/index.js.map +1 -1
  748. package/dist/components/Payroll/usePreparedPayrollData.js +8 -10
  749. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  750. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +14 -14
  751. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
  752. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +1 -1
  753. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +8 -8
  754. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +4 -4
  755. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +4 -4
  756. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js +36 -34
  757. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  758. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +4 -4
  759. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +16 -16
  760. package/dist/components/TimeOff/index.d.ts +6 -2
  761. package/dist/components/TimeOff/index.js +21 -17
  762. package/dist/components/TimeOff/index.js.map +1 -1
  763. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +1 -1
  764. package/dist/components/index.d.ts +1 -6
  765. package/dist/contexts/GustoProvider/GustoProvider.d.ts +28 -2
  766. package/dist/contexts/GustoProvider/GustoProvider.js +10 -11
  767. package/dist/contexts/GustoProvider/GustoProvider.js.map +1 -1
  768. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +42 -2
  769. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +1 -1
  770. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  771. package/dist/contexts/GustoProvider/SDKI18next.d.ts +1 -1
  772. package/dist/contexts/GustoProvider/SDKI18next.js.map +1 -1
  773. package/dist/contexts/GustoProvider/index.d.ts +1 -3
  774. package/dist/contexts/ThemeProvider/ThemeProvider.d.ts +5 -1
  775. package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
  776. package/dist/contexts/ThemeProvider/customRender.d.ts +1 -0
  777. package/dist/contexts/ThemeProvider/index.d.ts +0 -1
  778. package/dist/contexts/ThemeProvider/theme.d.ts +7 -101
  779. package/dist/contexts/ThemeProvider/theme.js +58 -64
  780. package/dist/contexts/ThemeProvider/theme.js.map +1 -1
  781. package/dist/contexts/ThemeProvider/types.d.ts +181 -0
  782. package/dist/contexts/ThemeProvider/useTheme.d.ts +4 -0
  783. package/dist/contexts/ThemeProvider/useTheme.js.map +1 -1
  784. package/dist/contexts/index.d.ts +1 -1
  785. package/dist/i18n/I18n.js +0 -1
  786. package/dist/i18n/I18n.js.map +1 -1
  787. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +56 -40
  788. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -1
  789. package/dist/index.d.ts +20 -17
  790. package/dist/index.js +228 -158
  791. package/dist/index.js.map +1 -1
  792. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +13 -11
  793. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
  794. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +17 -15
  795. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
  796. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +11 -9
  797. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  798. package/dist/partner-hook-utils/form/fields/SelectHookField.js +15 -13
  799. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  800. package/dist/partner-hook-utils/form/fields/SwitchHookField.js +13 -11
  801. package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
  802. package/dist/partner-hook-utils/form/fields/TextInputHookField.js +8 -6
  803. package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
  804. package/dist/partner-hook-utils/form/fields/index.d.ts +2 -0
  805. package/dist/partner-hook-utils/form/index.d.ts +1 -1
  806. package/dist/shared/constants.d.ts +5 -3
  807. package/dist/shared/constants.js +0 -1
  808. package/dist/shared/constants.js.map +1 -1
  809. package/dist/style.css +1 -1
  810. package/dist/types/i18next.d.ts +9 -32
  811. package/docs/reference/endpoint-inventory.json +322 -1101
  812. package/package.json +20 -17
  813. package/dist/components/Company/index.js +0 -37
  814. package/dist/components/Company/index.js.map +0 -1
  815. package/dist/components/Contractor/index.js +0 -29
  816. package/dist/components/Contractor/index.js.map +0 -1
  817. package/dist/components/Employee/Compensation/management/CompensationEditJobForm/index.d.ts +0 -3
  818. package/dist/components/Employee/Deductions/shared/index.d.ts +0 -8
  819. package/dist/components/Employee/Documents/shared/index.d.ts +0 -3
  820. package/dist/components/Employee/FederalTaxes/onboarding/index.d.ts +0 -2
  821. package/dist/components/Employee/HomeAddress/shared/index.d.ts +0 -3
  822. package/dist/components/Employee/Paystubs/shared/index.d.ts +0 -3
  823. package/dist/components/Employee/Taxes/Actions.d.ts +0 -1
  824. package/dist/components/Employee/Taxes/Actions.js +0 -14
  825. package/dist/components/Employee/Taxes/Actions.js.map +0 -1
  826. package/dist/components/Employee/Taxes/FederalForm.d.ts +0 -12
  827. package/dist/components/Employee/Taxes/FederalForm.js +0 -109
  828. package/dist/components/Employee/Taxes/FederalForm.js.map +0 -1
  829. package/dist/components/Employee/Taxes/FederalHead.d.ts +0 -1
  830. package/dist/components/Employee/Taxes/FederalHead.js +0 -25
  831. package/dist/components/Employee/Taxes/FederalHead.js.map +0 -1
  832. package/dist/components/Employee/Taxes/StateForm.d.ts +0 -6
  833. package/dist/components/Employee/Taxes/StateForm.js +0 -35
  834. package/dist/components/Employee/Taxes/StateForm.js.map +0 -1
  835. package/dist/components/Employee/Taxes/Taxes.d.ts +0 -13
  836. package/dist/components/Employee/Taxes/Taxes.js +0 -133
  837. package/dist/components/Employee/Taxes/Taxes.js.map +0 -1
  838. package/dist/components/Employee/Taxes/index.d.ts +0 -2
  839. package/dist/components/Employee/Taxes/useTaxes.d.ts +0 -8
  840. package/dist/components/Employee/Taxes/useTaxes.js +0 -23
  841. package/dist/components/Employee/Taxes/useTaxes.js.map +0 -1
  842. package/dist/components/Employee/Terminations/TerminationFlow/index.d.ts +0 -3
  843. package/dist/components/Employee/Terminations/TerminationsData.d.ts +0 -6
  844. package/dist/components/Employee/Terminations/index.d.ts +0 -8
  845. package/dist/components/Employee/WorkAddress/shared/index.d.ts +0 -3
  846. package/dist/components/Employee/index.js +0 -49
  847. package/dist/components/Employee/index.js.map +0 -1
  848. package/dist/contexts/GustoApiProvider/index.d.ts +0 -3
  849. package/dist/i18n/en/Employee.Taxes.json.js +0 -58
  850. package/dist/i18n/en/Employee.Taxes.json.js.map +0 -1
@@ -1,21 +1,21 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { SelectHookField as n } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
2
+ import { TextInputHookField as n } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
3
3
  import { NumberInputHookField as i } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
4
- import { TextInputHookField as t } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
4
+ import { SelectHookField as t } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
5
5
  function d(e) {
6
- return /* @__PURE__ */ r(n, { ...e, name: "state" });
6
+ return /* @__PURE__ */ r(t, { ...e, name: "state" });
7
7
  }
8
8
  function f(e) {
9
- return /* @__PURE__ */ r(n, { ...e, name: "fipsCode" });
9
+ return /* @__PURE__ */ r(t, { ...e, name: "fipsCode" });
10
10
  }
11
11
  function c(e) {
12
- return /* @__PURE__ */ r(t, { ...e, name: "caseNumber" });
12
+ return /* @__PURE__ */ r(n, { ...e, name: "caseNumber" });
13
13
  }
14
14
  function l(e) {
15
- return /* @__PURE__ */ r(t, { ...e, name: "orderNumber" });
15
+ return /* @__PURE__ */ r(n, { ...e, name: "orderNumber" });
16
16
  }
17
17
  function F(e) {
18
- return /* @__PURE__ */ r(t, { ...e, name: "remittanceNumber" });
18
+ return /* @__PURE__ */ r(n, { ...e, name: "remittanceNumber" });
19
19
  }
20
20
  function p(e) {
21
21
  return /* @__PURE__ */ r(i, { ...e, name: "payPeriodMaximum" });
@@ -24,7 +24,7 @@ function b(e) {
24
24
  return /* @__PURE__ */ r(i, { ...e, name: "amount" });
25
25
  }
26
26
  function N(e) {
27
- return /* @__PURE__ */ r(n, { ...e, name: "paymentPeriod" });
27
+ return /* @__PURE__ */ r(t, { ...e, name: "paymentPeriod" });
28
28
  }
29
29
  export {
30
30
  b as AmountField,
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sources":["../../../../../../src/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.tsx"],"sourcesContent":["import type { PaymentPeriod } from '@gusto/embedded-api-v-2025-11-15/models/components/garnishmentchildsupport'\nimport type { ChildSupportGarnishmentFormErrorCodes } from './childSupportGarnishmentFormSchema'\nimport type { TextInputHookFieldProps } from '@/partner-hook-utils/form/fields/TextInputHookField'\nimport type { NumberInputHookFieldProps } from '@/partner-hook-utils/form/fields/NumberInputHookField'\nimport type { SelectHookFieldProps } from '@/partner-hook-utils/form/fields/SelectHookField'\nimport {\n TextInputHookField,\n NumberInputHookField,\n SelectHookField,\n} from '@/partner-hook-utils/form/fields'\nimport type { HookFieldProps } from '@/partner-hook-utils/types'\n\nexport type RequiredValidation = typeof ChildSupportGarnishmentFormErrorCodes.REQUIRED\nexport type NegativeAmountValidation = typeof ChildSupportGarnishmentFormErrorCodes.NEGATIVE_AMOUNT\nexport type PercentValidation = typeof ChildSupportGarnishmentFormErrorCodes.PERCENT_OUT_OF_RANGE\n\nexport type PayPeriodMaximumValidation = RequiredValidation | NegativeAmountValidation\nexport type AmountValidation = RequiredValidation | PercentValidation\n\n// ── State (agency) ─────────────────────────────────────────────────────\n//\n// The select carries the raw agency record as `entries`; the consumer can\n// supply `getOptionLabel` to translate the agency name into a localized\n// label (the SDK's option-label fallback is the agency state code).\n\nexport type StateFieldEntry = {\n state: string\n name: string\n manualPaymentRequired?: boolean\n}\n\nexport type StateFieldProps = HookFieldProps<\n SelectHookFieldProps<RequiredValidation, StateFieldEntry>\n>\n\nexport function StateField(props: StateFieldProps) {\n return <SelectHookField {...props} name=\"state\" />\n}\n\n// ── FipsCode (county) ──────────────────────────────────────────────────\n\nexport type CountyEntry = {\n fipsCode: string\n county: string | null\n}\n\nexport type FipsCodeFieldProps = HookFieldProps<\n SelectHookFieldProps<RequiredValidation, CountyEntry>\n>\n\nexport function FipsCodeField(props: FipsCodeFieldProps) {\n return <SelectHookField {...props} name=\"fipsCode\" />\n}\n\n// ── Required agency-attribute text inputs ──────────────────────────────\n\nexport type CaseNumberFieldProps = HookFieldProps<TextInputHookFieldProps<RequiredValidation>>\n\nexport function CaseNumberField(props: CaseNumberFieldProps) {\n return <TextInputHookField {...props} name=\"caseNumber\" />\n}\n\nexport type OrderNumberFieldProps = HookFieldProps<TextInputHookFieldProps<RequiredValidation>>\n\nexport function OrderNumberField(props: OrderNumberFieldProps) {\n return <TextInputHookField {...props} name=\"orderNumber\" />\n}\n\nexport type RemittanceNumberFieldProps = HookFieldProps<TextInputHookFieldProps<RequiredValidation>>\n\nexport function RemittanceNumberField(props: RemittanceNumberFieldProps) {\n return <TextInputHookField {...props} name=\"remittanceNumber\" />\n}\n\n// ── Pay-period maximum (currency) ──────────────────────────────────────\n\nexport type PayPeriodMaximumFieldProps = HookFieldProps<\n NumberInputHookFieldProps<PayPeriodMaximumValidation>\n>\n\nexport function PayPeriodMaximumField(props: PayPeriodMaximumFieldProps) {\n return <NumberInputHookField {...props} name=\"payPeriodMaximum\" />\n}\n\n// ── Amount (percent of paycheck, 0-100) ────────────────────────────────\n\nexport type AmountFieldProps = HookFieldProps<NumberInputHookFieldProps<AmountValidation>>\n\nexport function AmountField(props: AmountFieldProps) {\n return <NumberInputHookField {...props} name=\"amount\" />\n}\n\n// ── Payment period (select) ────────────────────────────────────────────\n\nexport type PaymentPeriodFieldProps = HookFieldProps<\n SelectHookFieldProps<RequiredValidation, PaymentPeriod>\n>\n\nexport function PaymentPeriodField(props: PaymentPeriodFieldProps) {\n return <SelectHookField {...props} name=\"paymentPeriod\" />\n}\n"],"names":["StateField","props","jsx","SelectHookField","FipsCodeField","CaseNumberField","TextInputHookField","OrderNumberField","RemittanceNumberField","PayPeriodMaximumField","NumberInputHookField","AmountField","PaymentPeriodField"],"mappings":";;;;AAmCO,SAASA,EAAWC,GAAwB;AACjD,SAAO,gBAAAC,EAACC,GAAA,EAAiB,GAAGF,GAAO,MAAK,SAAQ;AAClD;AAaO,SAASG,EAAcH,GAA2B;AACvD,SAAO,gBAAAC,EAACC,GAAA,EAAiB,GAAGF,GAAO,MAAK,YAAW;AACrD;AAMO,SAASI,EAAgBJ,GAA6B;AAC3D,SAAO,gBAAAC,EAACI,GAAA,EAAoB,GAAGL,GAAO,MAAK,cAAa;AAC1D;AAIO,SAASM,EAAiBN,GAA8B;AAC7D,SAAO,gBAAAC,EAACI,GAAA,EAAoB,GAAGL,GAAO,MAAK,eAAc;AAC3D;AAIO,SAASO,EAAsBP,GAAmC;AACvE,SAAO,gBAAAC,EAACI,GAAA,EAAoB,GAAGL,GAAO,MAAK,oBAAmB;AAChE;AAQO,SAASQ,EAAsBR,GAAmC;AACvE,SAAO,gBAAAC,EAACQ,GAAA,EAAsB,GAAGT,GAAO,MAAK,oBAAmB;AAClE;AAMO,SAASU,EAAYV,GAAyB;AACnD,SAAO,gBAAAC,EAACQ,GAAA,EAAsB,GAAGT,GAAO,MAAK,UAAS;AACxD;AAQO,SAASW,EAAmBX,GAAgC;AACjE,SAAO,gBAAAC,EAACC,GAAA,EAAiB,GAAGF,GAAO,MAAK,iBAAgB;AAC1D;"}
1
+ {"version":3,"file":"fields.js","sources":["../../../../../../src/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.tsx"],"sourcesContent":["import type { PaymentPeriod } from '@gusto/embedded-api-v-2025-11-15/models/components/garnishmentchildsupport'\nimport type { ChildSupportGarnishmentFormErrorCodes } from './childSupportGarnishmentFormSchema'\nimport type { TextInputHookFieldProps } from '@/partner-hook-utils/form/fields/TextInputHookField'\nimport type { NumberInputHookFieldProps } from '@/partner-hook-utils/form/fields/NumberInputHookField'\nimport type { SelectHookFieldProps } from '@/partner-hook-utils/form/fields/SelectHookField'\nimport {\n TextInputHookField,\n NumberInputHookField,\n SelectHookField,\n} from '@/partner-hook-utils/form/fields'\nimport type { HookFieldProps } from '@/partner-hook-utils/types'\n\n/**\n * The required-field error code produced by {@link useChildSupportGarnishmentForm} fields that only emit `REQUIRED`.\n *\n * @remarks\n * Used as the `validationMessages` key for the state, county (fips code), case\n * number, order number, remittance number, and payment-period fields. See\n * {@link ChildSupportGarnishmentFormErrorCodes}.\n *\n * @public\n */\nexport type RequiredValidation = typeof ChildSupportGarnishmentFormErrorCodes.REQUIRED\n\n/**\n * The negative-amount error code produced by {@link useChildSupportGarnishmentForm}'s currency fields.\n *\n * @remarks\n * Used as a `validationMessages` key on `Fields.PayPeriodMaximum`. See\n * {@link ChildSupportGarnishmentFormErrorCodes}.\n *\n * @public\n */\nexport type NegativeAmountValidation = typeof ChildSupportGarnishmentFormErrorCodes.NEGATIVE_AMOUNT\n\n/**\n * The percent-out-of-range error code produced by {@link useChildSupportGarnishmentForm}'s percentage field.\n *\n * @remarks\n * Used as a `validationMessages` key on `Fields.Amount` (the percent-of-paycheck input).\n * See {@link ChildSupportGarnishmentFormErrorCodes}.\n *\n * @public\n */\nexport type PercentValidation = typeof ChildSupportGarnishmentFormErrorCodes.PERCENT_OUT_OF_RANGE\n\n/**\n * Validation error codes emitted by the `payPeriodMaximum` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Use these as keys in `validationMessages` on `Fields.PayPeriodMaximum`. See\n * {@link ChildSupportGarnishmentFormErrorCodes} for the full description of each code.\n *\n * @public\n */\nexport type PayPeriodMaximumValidation = RequiredValidation | NegativeAmountValidation\n\n/**\n * Validation error codes emitted by the `amount` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Use these as keys in `validationMessages` on `Fields.Amount`. The field\n * accepts a percentage of paycheck (0–100). See\n * {@link ChildSupportGarnishmentFormErrorCodes} for the full description of each code.\n *\n * @public\n */\nexport type AmountValidation = RequiredValidation | PercentValidation\n\n// ── State (agency) ─────────────────────────────────────────────────────\n//\n// The select carries the raw agency record as `entries`; the consumer can\n// supply `getOptionLabel` to translate the agency name into a localized\n// label (the SDK's option-label fallback is the agency state code).\n\n/**\n * Raw agency entry exposed on {@link useChildSupportGarnishmentForm}'s `data.agencies` and as the `entries` shape for the `State` select.\n *\n * @remarks\n * Supply `getOptionLabel` on `Fields.State` to translate the agency name into a\n * localized label — the SDK's option-label fallback is the agency state code.\n *\n * @public\n */\nexport type StateFieldEntry = {\n /** The agency's state code (e.g. `AK`). */\n state: string\n /** The agency name as returned by the Gusto API. */\n name: string\n /** True when the agency requires payments to be remitted manually rather than through Gusto. */\n manualPaymentRequired?: boolean\n}\n\n/**\n * Props accepted by {@link useChildSupportGarnishmentForm}'s `Fields.State` component.\n *\n * @public\n */\nexport type StateFieldProps = HookFieldProps<\n SelectHookFieldProps<RequiredValidation, StateFieldEntry>\n>\n\n/**\n * Select bound to the `state` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Available on the hook result as `form.Fields.State`. Always rendered. The\n * selected agency drives which subsequent fields are required and visible\n * (`FipsCode`, `CaseNumber`, `OrderNumber`, `RemittanceNumber`).\n *\n * @param props - {@link StateFieldProps} — accepts the standard hook field props plus `getOptionLabel` for agency display.\n * @returns The rendered select bound to `state`.\n * @public\n */\nexport function StateField(props: StateFieldProps) {\n return <SelectHookField {...props} name=\"state\" />\n}\n\n// ── FipsCode (county) ──────────────────────────────────────────────────\n\n/**\n * Raw county entry exposed on {@link useChildSupportGarnishmentForm}'s `data.counties` and as the `entries` shape for the `FipsCode` select.\n *\n * @remarks\n * `county` is `null` for \"all counties\" entries — the agency's single county\n * record represents the whole state. Supply `getOptionLabel` on\n * `Fields.FipsCode` to translate the county name into a localized label.\n *\n * @public\n */\nexport type CountyEntry = {\n /** The FIPS code for the county. */\n fipsCode: string\n /** The county name, or `null` for an \"all counties\" entry covering the whole state. */\n county: string | null\n}\n\n/**\n * Props accepted by {@link useChildSupportGarnishmentForm}'s `Fields.FipsCode` component.\n *\n * @public\n */\nexport type FipsCodeFieldProps = HookFieldProps<\n SelectHookFieldProps<RequiredValidation, CountyEntry>\n>\n\n/**\n * Select bound to the `fipsCode` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Available on the hook result as `form.Fields.FipsCode` only when the selected\n * agency offers multiple counties. When the agency has a single \"all counties\"\n * code, the hook auto-fills the value and exposes the field as `undefined` —\n * always null-check before rendering. Options are dynamically populated from\n * the FIPS codes the selected agency declares.\n *\n * @param props - {@link FipsCodeFieldProps} — accepts the standard hook field props plus `getOptionLabel` for county display.\n * @returns The rendered select bound to `fipsCode`.\n * @public\n */\nexport function FipsCodeField(props: FipsCodeFieldProps) {\n return <SelectHookField {...props} name=\"fipsCode\" />\n}\n\n// ── Required agency-attribute text inputs ──────────────────────────────\n\n/**\n * Props accepted by {@link useChildSupportGarnishmentForm}'s `Fields.CaseNumber` component.\n *\n * @public\n */\nexport type CaseNumberFieldProps = HookFieldProps<TextInputHookFieldProps<RequiredValidation>>\n\n/**\n * Text input bound to the `caseNumber` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Available on the hook result as `form.Fields.CaseNumber` only when the\n * selected agency requires a case number (`status.requiredAttrKeys.has('case_number')`).\n * Always null-check before rendering.\n *\n * @param props - {@link CaseNumberFieldProps} — accepts the standard hook field props (label, description, validationMessages, FieldComponent override).\n * @returns The rendered text input bound to `caseNumber`.\n * @public\n */\nexport function CaseNumberField(props: CaseNumberFieldProps) {\n return <TextInputHookField {...props} name=\"caseNumber\" />\n}\n\n/**\n * Props accepted by {@link useChildSupportGarnishmentForm}'s `Fields.OrderNumber` component.\n *\n * @public\n */\nexport type OrderNumberFieldProps = HookFieldProps<TextInputHookFieldProps<RequiredValidation>>\n\n/**\n * Text input bound to the `orderNumber` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Available on the hook result as `form.Fields.OrderNumber` only when the\n * selected agency requires an order number (`status.requiredAttrKeys.has('order_number')`).\n * Always null-check before rendering.\n *\n * @param props - {@link OrderNumberFieldProps} — accepts the standard hook field props (label, description, validationMessages, FieldComponent override).\n * @returns The rendered text input bound to `orderNumber`.\n * @public\n */\nexport function OrderNumberField(props: OrderNumberFieldProps) {\n return <TextInputHookField {...props} name=\"orderNumber\" />\n}\n\n/**\n * Props accepted by {@link useChildSupportGarnishmentForm}'s `Fields.RemittanceNumber` component.\n *\n * @public\n */\nexport type RemittanceNumberFieldProps = HookFieldProps<TextInputHookFieldProps<RequiredValidation>>\n\n/**\n * Text input bound to the `remittanceNumber` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Available on the hook result as `form.Fields.RemittanceNumber` only when the\n * selected agency requires a remittance number (`status.requiredAttrKeys.has('remittance_number')`).\n * Always null-check before rendering.\n *\n * @param props - {@link RemittanceNumberFieldProps} — accepts the standard hook field props (label, description, validationMessages, FieldComponent override).\n * @returns The rendered text input bound to `remittanceNumber`.\n * @public\n */\nexport function RemittanceNumberField(props: RemittanceNumberFieldProps) {\n return <TextInputHookField {...props} name=\"remittanceNumber\" />\n}\n\n// ── Pay-period maximum (currency) ──────────────────────────────────────\n\n/**\n * Props accepted by {@link useChildSupportGarnishmentForm}'s `Fields.PayPeriodMaximum` component.\n *\n * @public\n */\nexport type PayPeriodMaximumFieldProps = HookFieldProps<\n NumberInputHookFieldProps<PayPeriodMaximumValidation>\n>\n\n/**\n * Number input bound to the `payPeriodMaximum` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Available on the hook result as `form.Fields.PayPeriodMaximum`. Always\n * rendered. Carries the per-pay-period currency cap for the garnishment.\n *\n * @param props - {@link PayPeriodMaximumFieldProps} — accepts the standard hook field props (label, description, validationMessages, FieldComponent override).\n * @returns The rendered number input bound to `payPeriodMaximum`.\n * @public\n */\nexport function PayPeriodMaximumField(props: PayPeriodMaximumFieldProps) {\n return <NumberInputHookField {...props} name=\"payPeriodMaximum\" />\n}\n\n// ── Amount (percent of paycheck, 0-100) ────────────────────────────────\n\n/**\n * Props accepted by {@link useChildSupportGarnishmentForm}'s `Fields.Amount` component.\n *\n * @public\n */\nexport type AmountFieldProps = HookFieldProps<NumberInputHookFieldProps<AmountValidation>>\n\n/**\n * Number input bound to the `amount` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Available on the hook result as `form.Fields.Amount`. Always rendered.\n * Accepts a percentage of paycheck in the range 0–100 — the API stores\n * child-support amounts as percentages rather than fixed currency values.\n *\n * @param props - {@link AmountFieldProps} — accepts the standard hook field props (label, description, validationMessages, FieldComponent override).\n * @returns The rendered number input bound to `amount`.\n * @public\n */\nexport function AmountField(props: AmountFieldProps) {\n return <NumberInputHookField {...props} name=\"amount\" />\n}\n\n// ── Payment period (select) ────────────────────────────────────────────\n\n/**\n * Props accepted by {@link useChildSupportGarnishmentForm}'s `Fields.PaymentPeriod` component.\n *\n * @public\n */\nexport type PaymentPeriodFieldProps = HookFieldProps<\n SelectHookFieldProps<RequiredValidation, PaymentPeriod>\n>\n\n/**\n * Select bound to the `paymentPeriod` field of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Available on the hook result as `form.Fields.PaymentPeriod`. Always rendered.\n * Options: `Every week`, `Every other week`, `Twice per month`, `Monthly`.\n *\n * @param props - {@link PaymentPeriodFieldProps} — accepts the standard hook field props plus `getOptionLabel` for payment-period display.\n * @returns The rendered select bound to `paymentPeriod`.\n * @public\n */\nexport function PaymentPeriodField(props: PaymentPeriodFieldProps) {\n return <SelectHookField {...props} name=\"paymentPeriod\" />\n}\n"],"names":["StateField","props","jsx","SelectHookField","FipsCodeField","CaseNumberField","TextInputHookField","OrderNumberField","RemittanceNumberField","PayPeriodMaximumField","NumberInputHookField","AmountField","PaymentPeriodField"],"mappings":";;;;AAkHO,SAASA,EAAWC,GAAwB;AACjD,SAAO,gBAAAC,EAACC,GAAA,EAAiB,GAAGF,GAAO,MAAK,SAAQ;AAClD;AA4CO,SAASG,EAAcH,GAA2B;AACvD,SAAO,gBAAAC,EAACC,GAAA,EAAiB,GAAGF,GAAO,MAAK,YAAW;AACrD;AAuBO,SAASI,EAAgBJ,GAA6B;AAC3D,SAAO,gBAAAC,EAACI,GAAA,EAAoB,GAAGL,GAAO,MAAK,cAAa;AAC1D;AAqBO,SAASM,EAAiBN,GAA8B;AAC7D,SAAO,gBAAAC,EAACI,GAAA,EAAoB,GAAGL,GAAO,MAAK,eAAc;AAC3D;AAqBO,SAASO,EAAsBP,GAAmC;AACvE,SAAO,gBAAAC,EAACI,GAAA,EAAoB,GAAGL,GAAO,MAAK,oBAAmB;AAChE;AAwBO,SAASQ,EAAsBR,GAAmC;AACvE,SAAO,gBAAAC,EAACQ,GAAA,EAAsB,GAAGT,GAAO,MAAK,oBAAmB;AAClE;AAuBO,SAASU,EAAYV,GAAyB;AACnD,SAAO,gBAAAC,EAACQ,GAAA,EAAsB,GAAGT,GAAO,MAAK,UAAS;AACxD;AAwBO,SAASW,EAAmBX,GAAgC;AACjE,SAAO,gBAAAC,EAACC,GAAA,EAAiB,GAAGF,GAAO,MAAK,iBAAgB;AAC1D;"}
@@ -1,4 +1,5 @@
1
1
  import "./types/i18next.d.ts"
2
- export { useChildSupportGarnishmentForm, type UseChildSupportGarnishmentFormProps, type UseChildSupportGarnishmentFormResult, type UseChildSupportGarnishmentFormReady, type ChildSupportGarnishmentFormFields, type ChildSupportGarnishmentFormFieldsMetadata, type ChildSupportGarnishmentFormFieldsType, } from './useChildSupportGarnishmentForm';
3
- export { createChildSupportGarnishmentFormSchema, ChildSupportGarnishmentFormErrorCodes, type ChildSupportGarnishmentFormErrorCode, type ChildSupportGarnishmentFormData, type ChildSupportGarnishmentFormOutputs, type ChildSupportGarnishmentFormField, type SupportedRequiredAttrKey, getRequiredAttrKeys, REQUIRED_ATTR_FIELD_NAME, SUPPORTED_REQUIRED_ATTR_KEYS, } from './childSupportGarnishmentFormSchema';
2
+ export { useChildSupportGarnishmentForm, type UseChildSupportGarnishmentFormProps, type UseChildSupportGarnishmentFormResult, type UseChildSupportGarnishmentFormReady, type ChildSupportGarnishmentFormFields, type ChildSupportGarnishmentFormFieldsMetadata, } from './useChildSupportGarnishmentForm';
3
+ export { createChildSupportGarnishmentFormSchema, ChildSupportGarnishmentFormErrorCodes, type ChildSupportGarnishmentFormErrorCode, type ChildSupportGarnishmentFormData, type ChildSupportGarnishmentFormOutputs, type SupportedRequiredAttrKey, getRequiredAttrKeys, SUPPORTED_REQUIRED_ATTR_KEYS, } from './childSupportGarnishmentFormSchema';
4
+ export { StateField, FipsCodeField, CaseNumberField, OrderNumberField, RemittanceNumberField, PayPeriodMaximumField, AmountField, PaymentPeriodField, } from './fields';
4
5
  export type { RequiredValidation as ChildSupportGarnishmentRequiredValidation, NegativeAmountValidation as ChildSupportGarnishmentNegativeAmountValidation, PercentValidation as ChildSupportGarnishmentPercentValidation, PayPeriodMaximumValidation, AmountValidation as ChildSupportGarnishmentAmountValidation, StateFieldEntry, CountyEntry, StateFieldProps as ChildSupportGarnishmentStateFieldProps, FipsCodeFieldProps, CaseNumberFieldProps, OrderNumberFieldProps, RemittanceNumberFieldProps, PayPeriodMaximumFieldProps, AmountFieldProps as ChildSupportGarnishmentAmountFieldProps, PaymentPeriodFieldProps, } from './fields';
@@ -4,18 +4,43 @@ import { Agencies } from '@gusto/embedded-api-v-2025-11-15/models/components/chi
4
4
  import { ChildSupportGarnishmentFormData, SupportedRequiredAttrKey } from './childSupportGarnishmentFormSchema';
5
5
  import { StateField, FipsCodeField, CaseNumberField, OrderNumberField, RemittanceNumberField, PayPeriodMaximumField, AmountField, PaymentPeriodField, CountyEntry, StateFieldEntry } from './fields';
6
6
  import { BaseFormHookReady, FieldsMetadata, HookLoadingResult, HookSubmitResult } from '../../../../../partner-hook-utils/types';
7
+ /**
8
+ * Configuration options for {@link useChildSupportGarnishmentForm}.
9
+ *
10
+ * @remarks
11
+ * Presence or absence of `garnishmentId` selects the API verb — see the
12
+ * `garnishmentId` field description.
13
+ *
14
+ * @public
15
+ */
7
16
  export interface UseChildSupportGarnishmentFormProps {
17
+ /** UUID of the employee whose child-support garnishment is being created or edited. */
8
18
  employeeId: string;
9
19
  /**
10
- * When set, loads that garnishment via the list query and updates it (PUT).
11
- * When omitted, the form is in create mode (POST).
20
+ * When set, loads that garnishment and updates it (PUT). When omitted, the
21
+ * form is in create mode (POST).
12
22
  */
13
23
  garnishmentId?: string;
24
+ /** Pre-fill form values. Server data takes precedence on update. */
14
25
  defaultValues?: Partial<ChildSupportGarnishmentFormData>;
26
+ /** Passed through to react-hook-form. Defaults to `'onSubmit'`. */
15
27
  validationMode?: UseFormProps['mode'];
28
+ /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler` so submit-time focus is coordinated across multiple forms. Defaults to `true`. */
16
29
  shouldFocusError?: boolean;
17
30
  }
31
+ /**
32
+ * Pre-bound field components exposed on `useChildSupportGarnishmentForm().form.Fields`.
33
+ *
34
+ * @remarks
35
+ * Each property is either the field component or `undefined`. A field is
36
+ * `undefined` when conditions for rendering it aren't met — see each member
37
+ * for its visibility rule. Always null-check conditional fields (e.g.
38
+ * `{Fields.FipsCode && <Fields.FipsCode ... />}`) before rendering.
39
+ *
40
+ * @public
41
+ */
18
42
  export interface ChildSupportGarnishmentFormFields {
43
+ /** Agency (state) select. Always available. */
19
44
  State: typeof StateField;
20
45
  /** Only available when the selected agency has more than one fips code, or the
21
46
  * sole code is county-scoped (not an "all counties" auto-pick). */
@@ -26,11 +51,26 @@ export interface ChildSupportGarnishmentFormFields {
26
51
  OrderNumber: typeof OrderNumberField | undefined;
27
52
  /** Only available when the selected agency requires `remittance_number`. */
28
53
  RemittanceNumber: typeof RemittanceNumberField | undefined;
54
+ /** Per-pay-period currency cap input. Always available. */
29
55
  PayPeriodMaximum: typeof PayPeriodMaximumField;
56
+ /** Percent-of-paycheck input (0–100). Always available. */
30
57
  Amount: typeof AmountField;
58
+ /** Payment period select. Always available. */
31
59
  PaymentPeriod: typeof PaymentPeriodField;
32
60
  }
61
+ /**
62
+ * Ready-state shape returned by {@link useChildSupportGarnishmentForm} once data has loaded.
63
+ *
64
+ * @remarks
65
+ * Discriminated by `isLoading: false`. Extends {@link BaseFormHookReady} with
66
+ * the child-support-specific `data`, `status`, `actions`, and `form.Fields`
67
+ * shape. Static, entity-derived values live under `data.*`; reactive values
68
+ * that flip with form input live under `status.*`.
69
+ *
70
+ * @public
71
+ */
33
72
  export interface UseChildSupportGarnishmentFormReady extends BaseFormHookReady<FieldsMetadata, ChildSupportGarnishmentFormData, ChildSupportGarnishmentFormFields> {
73
+ /** Child-support-specific data payload: the available agencies, counties for the selected state, and the loaded garnishment for update mode. */
34
74
  data: {
35
75
  /** Agencies offered as `State` options; raw entries the consumer can use
36
76
  * with `getOptionLabel` for translated names. */
@@ -41,8 +81,11 @@ export interface UseChildSupportGarnishmentFormReady extends BaseFormHookReady<F
41
81
  /** The garnishment loaded for update; `null` in create mode. */
42
82
  deduction: Garnishment | null;
43
83
  };
84
+ /** Submission state and reactive flags derived from current form input. */
44
85
  status: {
86
+ /** `true` while a create or update mutation is in flight. */
45
87
  isPending: boolean;
88
+ /** Reflects whether the next submit will POST a new garnishment or PUT an existing one. */
46
89
  mode: 'create' | 'update';
47
90
  /** The agency record matching the currently selected `state`. */
48
91
  selectedAgency: Agencies | null;
@@ -52,11 +95,94 @@ export interface UseChildSupportGarnishmentFormReady extends BaseFormHookReady<F
52
95
  /** Which `required_attributes` keys the selected agency declares. */
53
96
  requiredAttrKeys: ReadonlySet<SupportedRequiredAttrKey>;
54
97
  };
98
+ /** Submission action. */
55
99
  actions: {
100
+ /** Submits the form. Returns the saved garnishment + mode on success, or `undefined` when validation fails or the request errored. */
56
101
  onSubmit: () => Promise<HookSubmitResult<Garnishment> | undefined>;
57
102
  };
58
103
  }
104
+ /**
105
+ * Return value of {@link useChildSupportGarnishmentForm}.
106
+ *
107
+ * @remarks
108
+ * Discriminated union: {@link HookLoadingResult} while the agency catalog (and,
109
+ * in update mode, the existing garnishment) is loading;
110
+ * {@link UseChildSupportGarnishmentFormReady} once data is ready.
111
+ *
112
+ * @public
113
+ */
59
114
  export type UseChildSupportGarnishmentFormResult = HookLoadingResult | UseChildSupportGarnishmentFormReady;
115
+ /**
116
+ * Headless hook for creating or updating a child-support garnishment.
117
+ *
118
+ * @remarks
119
+ * Unlike standard garnishments, child support requires agency-specific
120
+ * attributes (case number, order number, remittance number) that vary by
121
+ * state, plus an optional county selection when the state has multiple
122
+ * counties. The hook loads the agency catalog from the Gusto API, derives
123
+ * which attributes the selected state requires, and exposes the right Fields
124
+ * conditionally.
125
+ *
126
+ * Presence or absence of `garnishmentId` selects the API verb: omit it to
127
+ * POST a new garnishment, supply it to PUT updates against the existing row.
128
+ * For non-child-support deductions (court-ordered garnishments and post-tax
129
+ * custom), use {@link useDeductionForm} instead.
130
+ *
131
+ * @param input - See {@link UseChildSupportGarnishmentFormProps}.
132
+ * @returns A {@link HookLoadingResult} while loading, or a {@link UseChildSupportGarnishmentFormReady} once ready.
133
+ * @public
134
+ *
135
+ * @example
136
+ * ```tsx
137
+ * import { useChildSupportGarnishmentForm, SDKFormProvider } from '@gusto/embedded-react-sdk'
138
+ *
139
+ * function ChildSupportPage({ employeeId, garnishmentId }: { employeeId: string; garnishmentId?: string }) {
140
+ * const form = useChildSupportGarnishmentForm({ employeeId, garnishmentId })
141
+ *
142
+ * if (form.isLoading) return <p>Loading…</p>
143
+ *
144
+ * const { Fields } = form.form
145
+ *
146
+ * return (
147
+ * <SDKFormProvider formHookResult={form}>
148
+ * <form
149
+ * onSubmit={e => {
150
+ * e.preventDefault()
151
+ * void form.actions.onSubmit()
152
+ * }}
153
+ * >
154
+ * <Fields.State
155
+ * label="Agency"
156
+ * getOptionLabel={entry => entry.name}
157
+ * validationMessages={{ REQUIRED: 'Required' }}
158
+ * />
159
+ * {Fields.CaseNumber && (
160
+ * <Fields.CaseNumber label="Case number" validationMessages={{ REQUIRED: 'Required' }} />
161
+ * )}
162
+ * <Fields.Amount
163
+ * label="Percentage of paycheck"
164
+ * validationMessages={{
165
+ * REQUIRED: 'Required',
166
+ * PERCENT_OUT_OF_RANGE: 'Must be between 0 and 100',
167
+ * }}
168
+ * />
169
+ * <button type="submit">Save</button>
170
+ * </form>
171
+ * </SDKFormProvider>
172
+ * )
173
+ * }
174
+ * ```
175
+ */
60
176
  export declare function useChildSupportGarnishmentForm({ employeeId, garnishmentId, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseChildSupportGarnishmentFormProps): UseChildSupportGarnishmentFormResult;
177
+ /**
178
+ * Per-field metadata returned by {@link useChildSupportGarnishmentForm} as `form.fieldsMetadata`.
179
+ *
180
+ * @remarks
181
+ * Carries per-field `isRequired`, `isDisabled`, label, description, and option
182
+ * entries derived from the schema and form state. Use these to drive UI such
183
+ * as disabled state or option lists when not relying on the pre-bound
184
+ * {@link ChildSupportGarnishmentFormFields} components.
185
+ *
186
+ * @public
187
+ */
61
188
  export type ChildSupportGarnishmentFormFieldsMetadata = UseChildSupportGarnishmentFormReady['form']['fieldsMetadata'];
62
- export type ChildSupportGarnishmentFormFieldsType = UseChildSupportGarnishmentFormReady['form']['Fields'];
@@ -1 +1 @@
1
- {"version":3,"file":"useChildSupportGarnishmentForm.js","sources":["../../../../../../src/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react'\nimport { useForm, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport {\n type Garnishment,\n type GarnishmentType,\n} from '@gusto/embedded-api-v-2025-11-15/models/components/garnishment'\nimport type { Agencies } from '@gusto/embedded-api-v-2025-11-15/models/components/childsupportdata'\nimport { PaymentPeriod } from '@gusto/embedded-api-v-2025-11-15/models/components/garnishmentchildsupport'\nimport { useGarnishmentsCreateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/garnishmentsCreate'\nimport { useGarnishmentsUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/garnishmentsUpdate'\nimport { useGarnishmentsList } from '@gusto/embedded-api-v-2025-11-15/react-query/garnishmentsList'\nimport { useGarnishmentsGetChildSupportData } from '@gusto/embedded-api-v-2025-11-15/react-query/garnishmentsGetChildSupportData'\nimport {\n createChildSupportGarnishmentFormSchema,\n getRequiredAttrKeys,\n type ChildSupportGarnishmentFormData,\n type ChildSupportGarnishmentFormOutputs,\n type SupportedRequiredAttrKey,\n} from './childSupportGarnishmentFormSchema'\nimport {\n StateField,\n FipsCodeField,\n CaseNumberField,\n OrderNumberField,\n RemittanceNumberField,\n PayPeriodMaximumField,\n AmountField,\n PaymentPeriodField,\n type CountyEntry,\n type StateFieldEntry,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\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 { SDKInternalError } from '@/types/sdkError'\n\nconst PAYMENT_PERIOD_OPTIONS = [\n { value: PaymentPeriod.EveryWeek, label: PaymentPeriod.EveryWeek },\n { value: PaymentPeriod.EveryOtherWeek, label: PaymentPeriod.EveryOtherWeek },\n { value: PaymentPeriod.TwicePerMonth, label: PaymentPeriod.TwicePerMonth },\n { value: PaymentPeriod.Monthly, label: PaymentPeriod.Monthly },\n] as const\n\nconst PAYMENT_PERIOD_ENTRIES = [\n PaymentPeriod.EveryWeek,\n PaymentPeriod.EveryOtherWeek,\n PaymentPeriod.TwicePerMonth,\n PaymentPeriod.Monthly,\n] as const\n\nexport interface UseChildSupportGarnishmentFormProps {\n employeeId: string\n /**\n * When set, loads that garnishment via the list query and updates it (PUT).\n * When omitted, the form is in create mode (POST).\n */\n garnishmentId?: string\n defaultValues?: Partial<ChildSupportGarnishmentFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface ChildSupportGarnishmentFormFields {\n State: typeof StateField\n /** Only available when the selected agency has more than one fips code, or the\n * sole code is county-scoped (not an \"all counties\" auto-pick). */\n FipsCode: typeof FipsCodeField | undefined\n /** Only available when the selected agency requires `case_number`. */\n CaseNumber: typeof CaseNumberField | undefined\n /** Only available when the selected agency requires `order_number`. */\n OrderNumber: typeof OrderNumberField | undefined\n /** Only available when the selected agency requires `remittance_number`. */\n RemittanceNumber: typeof RemittanceNumberField | undefined\n PayPeriodMaximum: typeof PayPeriodMaximumField\n Amount: typeof AmountField\n PaymentPeriod: typeof PaymentPeriodField\n}\n\nexport interface UseChildSupportGarnishmentFormReady extends BaseFormHookReady<\n FieldsMetadata,\n ChildSupportGarnishmentFormData,\n ChildSupportGarnishmentFormFields\n> {\n data: {\n /** Agencies offered as `State` options; raw entries the consumer can use\n * with `getOptionLabel` for translated names. */\n agencies: StateFieldEntry[]\n /** Counties for the currently selected state. Empty array when no state\n * is selected. */\n counties: CountyEntry[]\n /** The garnishment loaded for update; `null` in create mode. */\n deduction: Garnishment | null\n }\n status: {\n isPending: boolean\n mode: 'create' | 'update'\n /** The agency record matching the currently selected `state`. */\n selectedAgency: Agencies | null\n /** Mirrors `selectedAgency.manualPaymentRequired`; convenient for showing\n * a warning alert. */\n isManualPaymentRequired: boolean\n /** Which `required_attributes` keys the selected agency declares. */\n requiredAttrKeys: ReadonlySet<SupportedRequiredAttrKey>\n }\n actions: {\n onSubmit: () => Promise<HookSubmitResult<Garnishment> | undefined>\n }\n}\n\nexport type UseChildSupportGarnishmentFormResult =\n | HookLoadingResult\n | UseChildSupportGarnishmentFormReady\n\nexport function useChildSupportGarnishmentForm({\n employeeId,\n garnishmentId,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseChildSupportGarnishmentFormProps): UseChildSupportGarnishmentFormResult {\n const isCreateMode = !garnishmentId\n const schemaMode = isCreateMode ? 'create' : 'update'\n\n // Agencies + their required-attributes / fips codes come from a single GET.\n const agencyDataQuery = useGarnishmentsGetChildSupportData({})\n const agencyList = useMemo(\n () => agencyDataQuery.data?.childSupportData?.agencies ?? [],\n [agencyDataQuery.data],\n )\n\n // Update mode reads the row from the list endpoint (the garnishments API\n // has no single-row GET).\n const garnishmentsListQuery = useGarnishmentsList({ employeeId }, { enabled: !isCreateMode })\n const fetchedDeduction = useMemo(() => {\n if (isCreateMode) return null\n return garnishmentsListQuery.data?.garnishments?.find(g => g.uuid === garnishmentId) ?? null\n }, [isCreateMode, garnishmentId, garnishmentsListQuery.data])\n\n const resolvedDefaults: ChildSupportGarnishmentFormData = useMemo(\n () => ({\n state: fetchedDeduction?.childSupport?.state ?? partnerDefaults?.state ?? '',\n fipsCode: fetchedDeduction?.childSupport?.fipsCode ?? partnerDefaults?.fipsCode ?? '',\n caseNumber: fetchedDeduction?.childSupport?.caseNumber ?? partnerDefaults?.caseNumber ?? '',\n orderNumber:\n fetchedDeduction?.childSupport?.orderNumber ?? partnerDefaults?.orderNumber ?? '',\n remittanceNumber:\n fetchedDeduction?.childSupport?.remittanceNumber ?? partnerDefaults?.remittanceNumber ?? '',\n amount: fetchedDeduction?.amount\n ? Number(fetchedDeduction.amount)\n : (partnerDefaults?.amount ?? 0),\n payPeriodMaximum: fetchedDeduction?.payPeriodMaximum\n ? Number(fetchedDeduction.payPeriodMaximum)\n : (partnerDefaults?.payPeriodMaximum ?? 0),\n paymentPeriod:\n (fetchedDeduction?.childSupport?.paymentPeriod as PaymentPeriod | undefined) ??\n partnerDefaults?.paymentPeriod ??\n PaymentPeriod.Monthly,\n }),\n [fetchedDeduction, partnerDefaults],\n )\n\n // Pass the full agency list so requiredness for the agency-attribute fields\n // (`caseNumber`, `orderNumber`, `remittanceNumber`) is derived dynamically\n // from the form's `state` value. The schema doesn't need to rebuild when the\n // user changes states — the predicate runs at validation time and via\n // `useDeriveFieldsMetadata` for the (optional) label.\n const [schema, metadataConfig] = useMemo(\n () => createChildSupportGarnishmentFormSchema({ mode: schemaMode, agencyList }),\n [schemaMode, agencyList],\n )\n\n const formMethods = useForm<\n ChildSupportGarnishmentFormData,\n unknown,\n ChildSupportGarnishmentFormOutputs\n >({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const liveWatchedState = useWatch({ control: formMethods.control, name: 'state' })\n const liveSelectedAgency = useMemo(\n () => agencyList.find(a => a.state === liveWatchedState) ?? null,\n [agencyList, liveWatchedState],\n )\n\n // The agency-attribute fields stay in sync with the chosen state: when the\n // user switches states, the previous attribute values would otherwise carry\n // over and potentially submit alongside the wrong agency. The ref tracks\n // the previous value so the wipe only fires on user-driven transitions —\n // NOT on the initial sync when an existing garnishment loads (state moves\n // from '' to e.g. 'AK' as a side effect of `values` updating, which would\n // otherwise clobber the loaded case/order/remittance values).\n const previousWatchedStateRef = useRef<string | null>(null)\n useEffect(() => {\n const previous = previousWatchedStateRef.current\n previousWatchedStateRef.current = liveWatchedState\n // First render (no previous value) → skip the wipe.\n if (previous === null) return\n // Server-side load: previous was '' (initial defaults before the row\n // arrived), now it's the loaded state. That's a sync, not a user toggle.\n if (previous === '') return\n if (previous === liveWatchedState) return\n formMethods.setValue('caseNumber', '')\n formMethods.setValue('orderNumber', '')\n formMethods.setValue('remittanceNumber', '')\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [liveWatchedState])\n\n // When the selected agency has a single \"all counties\" fips code, auto-fill\n // the field so the consumer doesn't have to render the county select.\n const fipsCodes = liveSelectedAgency?.fipsCodes ?? []\n const singleAllCountiesFipsCode =\n fipsCodes.length === 1 && !fipsCodes[0]?.county?.length ? (fipsCodes[0]?.code ?? null) : null\n useEffect(() => {\n if (singleAllCountiesFipsCode) {\n formMethods.setValue('fipsCode', singleAllCountiesFipsCode)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [singleAllCountiesFipsCode])\n\n const createGarnishmentMutation = useGarnishmentsCreateMutation()\n const updateGarnishmentMutation = useGarnishmentsUpdateMutation()\n const isPending = createGarnishmentMutation.isPending || updateGarnishmentMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ChildSupportGarnishmentForm')\n\n const errorHandling = composeErrorHandler(\n isCreateMode ? [agencyDataQuery] : [agencyDataQuery, garnishmentsListQuery],\n { submitError, setSubmitError },\n )\n\n // ── Derived data exposed on the ready branch ─────────────────────────\n\n const agencies: StateFieldEntry[] = useMemo(\n () =>\n agencyList.map(a => ({\n state: a.state ?? '',\n name: a.name ?? a.state ?? '',\n manualPaymentRequired: a.manualPaymentRequired ?? false,\n })),\n [agencyList],\n )\n\n const counties: CountyEntry[] = useMemo(\n () =>\n (liveSelectedAgency?.fipsCodes ?? [])\n .filter(f => typeof f.code === 'string')\n .map(f => ({ fipsCode: f.code as string, county: f.county ?? null })),\n [liveSelectedAgency],\n )\n\n const requiredAttrKeys = useMemo(\n () => getRequiredAttrKeys(liveSelectedAgency),\n [liveSelectedAgency],\n )\n\n const hasSelectableCounties =\n counties.length > 1 || (counties.length === 1 && singleAllCountiesFipsCode == null)\n\n // ── Metadata + field-options wiring ─────────────────────────────────\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const stateOptions = agencies.map(a => ({ value: a.state, label: a.name }))\n const countyOptions = counties.map(c => ({\n value: c.fipsCode,\n label: c.county ?? c.fipsCode,\n }))\n\n const fieldsMetadata = {\n state: withOptions(baseMetadata.state, stateOptions, agencies),\n fipsCode: withOptions(baseMetadata.fipsCode, countyOptions, counties),\n caseNumber: baseMetadata.caseNumber,\n orderNumber: baseMetadata.orderNumber,\n remittanceNumber: baseMetadata.remittanceNumber,\n payPeriodMaximum: baseMetadata.payPeriodMaximum,\n amount: baseMetadata.amount,\n paymentPeriod: withOptions(\n baseMetadata.paymentPeriod,\n [...PAYMENT_PERIOD_OPTIONS],\n [...PAYMENT_PERIOD_ENTRIES],\n ),\n }\n\n // ── Submit ───────────────────────────────────────────────────────────\n\n const onSubmit = async (): Promise<HookSubmitResult<Garnishment> | undefined> => {\n let submitResult: HookSubmitResult<Garnishment> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: ChildSupportGarnishmentFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const childSupport = {\n state: payload.state,\n paymentPeriod: payload.paymentPeriod,\n fipsCode: payload.fipsCode,\n // Empty strings collapse to null so the API persists \"no value\n // declared\" rather than an empty case number.\n caseNumber: payload.caseNumber || null,\n orderNumber: payload.orderNumber || null,\n remittanceNumber: payload.remittanceNumber || null,\n }\n\n const description = `Child Support - ${childSupport.caseNumber ?? ''}`\n const amountStr = String(payload.amount)\n const payPeriodMaximumStr =\n payload.payPeriodMaximum > 0 ? String(payload.payPeriodMaximum) : null\n\n const requestBody = {\n active: true,\n amount: amountStr,\n description,\n courtOrdered: true,\n garnishmentType: 'child_support' as GarnishmentType,\n times: null,\n deductAsPercentage: true,\n payPeriodMaximum: payPeriodMaximumStr,\n recurring: true,\n childSupport,\n }\n\n let updated: Garnishment | undefined\n\n if (isCreateMode) {\n const result = await createGarnishmentMutation.mutateAsync({\n request: { employeeId, garnishmentRequest: requestBody },\n })\n updated = result.garnishment\n } else {\n if (!fetchedDeduction) {\n throw new SDKInternalError(\n 'Cannot update child-support deduction: no matching garnishment on file',\n )\n }\n const result = await updateGarnishmentMutation.mutateAsync({\n request: {\n garnishmentId: fetchedDeduction.uuid,\n updateGarnishmentRequest: {\n ...requestBody,\n version: fetchedDeduction.version as string,\n },\n },\n })\n updated = result.garnishment\n }\n\n if (!updated) {\n throw new SDKInternalError(\n isCreateMode\n ? 'Child-support deduction creation failed'\n : 'Child-support deduction update failed',\n )\n }\n\n submitResult = {\n mode: isCreateMode ? 'create' : 'update',\n data: updated,\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (agencyDataQuery.isLoading) {\n return { isLoading: true as const, errorHandling }\n }\n if (!isCreateMode && garnishmentsListQuery.isLoading) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n agencies,\n counties,\n deduction: fetchedDeduction,\n },\n status: {\n isPending,\n mode: isCreateMode ? 'create' : 'update',\n selectedAgency: liveSelectedAgency,\n isManualPaymentRequired: liveSelectedAgency?.manualPaymentRequired ?? false,\n requiredAttrKeys,\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n State: StateField,\n FipsCode: hasSelectableCounties ? FipsCodeField : undefined,\n CaseNumber: requiredAttrKeys.has('case_number') ? CaseNumberField : undefined,\n OrderNumber: requiredAttrKeys.has('order_number') ? OrderNumberField : undefined,\n RemittanceNumber: requiredAttrKeys.has('remittance_number')\n ? RemittanceNumberField\n : undefined,\n PayPeriodMaximum: PayPeriodMaximumField,\n Amount: AmountField,\n PaymentPeriod: PaymentPeriodField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type ChildSupportGarnishmentFormFieldsMetadata =\n UseChildSupportGarnishmentFormReady['form']['fieldsMetadata']\nexport type ChildSupportGarnishmentFormFieldsType =\n UseChildSupportGarnishmentFormReady['form']['Fields']\n"],"names":["PAYMENT_PERIOD_OPTIONS","PaymentPeriod","PAYMENT_PERIOD_ENTRIES","useChildSupportGarnishmentForm","employeeId","garnishmentId","partnerDefaults","validationMode","shouldFocusError","isCreateMode","schemaMode","agencyDataQuery","useGarnishmentsGetChildSupportData","agencyList","useMemo","garnishmentsListQuery","useGarnishmentsList","fetchedDeduction","g","resolvedDefaults","schema","metadataConfig","createChildSupportGarnishmentFormSchema","formMethods","useForm","zodResolver","liveWatchedState","useWatch","liveSelectedAgency","a","previousWatchedStateRef","useRef","useEffect","previous","fipsCodes","singleAllCountiesFipsCode","createGarnishmentMutation","useGarnishmentsCreateMutation","updateGarnishmentMutation","useGarnishmentsUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","agencies","counties","f","requiredAttrKeys","getRequiredAttrKeys","hasSelectableCounties","baseMetadata","useDeriveFieldsMetadata","stateOptions","countyOptions","c","fieldsMetadata","withOptions","onSubmit","submitResult","resolve","data","payload","childSupport","description","amountStr","payPeriodMaximumStr","requestBody","updated","SDKInternalError","hookFormInternals","useHookFormInternals","StateField","FipsCodeField","CaseNumberField","OrderNumberField","RemittanceNumberField","PayPeriodMaximumField","AmountField","PaymentPeriodField","createGetFormSubmissionValues"],"mappings":"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"}
1
+ {"version":3,"file":"useChildSupportGarnishmentForm.js","sources":["../../../../../../src/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react'\nimport { useForm, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport {\n type Garnishment,\n type GarnishmentType,\n} from '@gusto/embedded-api-v-2025-11-15/models/components/garnishment'\nimport type { Agencies } from '@gusto/embedded-api-v-2025-11-15/models/components/childsupportdata'\nimport { PaymentPeriod } from '@gusto/embedded-api-v-2025-11-15/models/components/garnishmentchildsupport'\nimport { useGarnishmentsCreateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/garnishmentsCreate'\nimport { useGarnishmentsUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/garnishmentsUpdate'\nimport { useGarnishmentsList } from '@gusto/embedded-api-v-2025-11-15/react-query/garnishmentsList'\nimport { useGarnishmentsGetChildSupportData } from '@gusto/embedded-api-v-2025-11-15/react-query/garnishmentsGetChildSupportData'\nimport {\n createChildSupportGarnishmentFormSchema,\n getRequiredAttrKeys,\n type ChildSupportGarnishmentFormData,\n type ChildSupportGarnishmentFormOutputs,\n type SupportedRequiredAttrKey,\n} from './childSupportGarnishmentFormSchema'\nimport {\n StateField,\n FipsCodeField,\n CaseNumberField,\n OrderNumberField,\n RemittanceNumberField,\n PayPeriodMaximumField,\n AmountField,\n PaymentPeriodField,\n type CountyEntry,\n type StateFieldEntry,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\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 { SDKInternalError } from '@/types/sdkError'\n\nconst PAYMENT_PERIOD_OPTIONS = [\n { value: PaymentPeriod.EveryWeek, label: PaymentPeriod.EveryWeek },\n { value: PaymentPeriod.EveryOtherWeek, label: PaymentPeriod.EveryOtherWeek },\n { value: PaymentPeriod.TwicePerMonth, label: PaymentPeriod.TwicePerMonth },\n { value: PaymentPeriod.Monthly, label: PaymentPeriod.Monthly },\n] as const\n\nconst PAYMENT_PERIOD_ENTRIES = [\n PaymentPeriod.EveryWeek,\n PaymentPeriod.EveryOtherWeek,\n PaymentPeriod.TwicePerMonth,\n PaymentPeriod.Monthly,\n] as const\n\n/**\n * Configuration options for {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Presence or absence of `garnishmentId` selects the API verb — see the\n * `garnishmentId` field description.\n *\n * @public\n */\nexport interface UseChildSupportGarnishmentFormProps {\n /** UUID of the employee whose child-support garnishment is being created or edited. */\n employeeId: string\n /**\n * When set, loads that garnishment and updates it (PUT). When omitted, the\n * form is in create mode (POST).\n */\n garnishmentId?: string\n /** Pre-fill form values. Server data takes precedence on update. */\n defaultValues?: Partial<ChildSupportGarnishmentFormData>\n /** Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler` so submit-time focus is coordinated across multiple forms. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Pre-bound field components exposed on `useChildSupportGarnishmentForm().form.Fields`.\n *\n * @remarks\n * Each property is either the field component or `undefined`. A field is\n * `undefined` when conditions for rendering it aren't met — see each member\n * for its visibility rule. Always null-check conditional fields (e.g.\n * `{Fields.FipsCode && <Fields.FipsCode ... />}`) before rendering.\n *\n * @public\n */\nexport interface ChildSupportGarnishmentFormFields {\n /** Agency (state) select. Always available. */\n State: typeof StateField\n /** Only available when the selected agency has more than one fips code, or the\n * sole code is county-scoped (not an \"all counties\" auto-pick). */\n FipsCode: typeof FipsCodeField | undefined\n /** Only available when the selected agency requires `case_number`. */\n CaseNumber: typeof CaseNumberField | undefined\n /** Only available when the selected agency requires `order_number`. */\n OrderNumber: typeof OrderNumberField | undefined\n /** Only available when the selected agency requires `remittance_number`. */\n RemittanceNumber: typeof RemittanceNumberField | undefined\n /** Per-pay-period currency cap input. Always available. */\n PayPeriodMaximum: typeof PayPeriodMaximumField\n /** Percent-of-paycheck input (0–100). Always available. */\n Amount: typeof AmountField\n /** Payment period select. Always available. */\n PaymentPeriod: typeof PaymentPeriodField\n}\n\n/**\n * Ready-state shape returned by {@link useChildSupportGarnishmentForm} once data has loaded.\n *\n * @remarks\n * Discriminated by `isLoading: false`. Extends {@link BaseFormHookReady} with\n * the child-support-specific `data`, `status`, `actions`, and `form.Fields`\n * shape. Static, entity-derived values live under `data.*`; reactive values\n * that flip with form input live under `status.*`.\n *\n * @public\n */\nexport interface UseChildSupportGarnishmentFormReady extends BaseFormHookReady<\n FieldsMetadata,\n ChildSupportGarnishmentFormData,\n ChildSupportGarnishmentFormFields\n> {\n /** Child-support-specific data payload: the available agencies, counties for the selected state, and the loaded garnishment for update mode. */\n data: {\n /** Agencies offered as `State` options; raw entries the consumer can use\n * with `getOptionLabel` for translated names. */\n agencies: StateFieldEntry[]\n /** Counties for the currently selected state. Empty array when no state\n * is selected. */\n counties: CountyEntry[]\n /** The garnishment loaded for update; `null` in create mode. */\n deduction: Garnishment | null\n }\n /** Submission state and reactive flags derived from current form input. */\n status: {\n /** `true` while a create or update mutation is in flight. */\n isPending: boolean\n /** Reflects whether the next submit will POST a new garnishment or PUT an existing one. */\n mode: 'create' | 'update'\n /** The agency record matching the currently selected `state`. */\n selectedAgency: Agencies | null\n /** Mirrors `selectedAgency.manualPaymentRequired`; convenient for showing\n * a warning alert. */\n isManualPaymentRequired: boolean\n /** Which `required_attributes` keys the selected agency declares. */\n requiredAttrKeys: ReadonlySet<SupportedRequiredAttrKey>\n }\n /** Submission action. */\n actions: {\n /** Submits the form. Returns the saved garnishment + mode on success, or `undefined` when validation fails or the request errored. */\n onSubmit: () => Promise<HookSubmitResult<Garnishment> | undefined>\n }\n}\n\n/**\n * Return value of {@link useChildSupportGarnishmentForm}.\n *\n * @remarks\n * Discriminated union: {@link HookLoadingResult} while the agency catalog (and,\n * in update mode, the existing garnishment) is loading;\n * {@link UseChildSupportGarnishmentFormReady} once data is ready.\n *\n * @public\n */\nexport type UseChildSupportGarnishmentFormResult =\n | HookLoadingResult\n | UseChildSupportGarnishmentFormReady\n\n/**\n * Headless hook for creating or updating a child-support garnishment.\n *\n * @remarks\n * Unlike standard garnishments, child support requires agency-specific\n * attributes (case number, order number, remittance number) that vary by\n * state, plus an optional county selection when the state has multiple\n * counties. The hook loads the agency catalog from the Gusto API, derives\n * which attributes the selected state requires, and exposes the right Fields\n * conditionally.\n *\n * Presence or absence of `garnishmentId` selects the API verb: omit it to\n * POST a new garnishment, supply it to PUT updates against the existing row.\n * For non-child-support deductions (court-ordered garnishments and post-tax\n * custom), use {@link useDeductionForm} instead.\n *\n * @param input - See {@link UseChildSupportGarnishmentFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseChildSupportGarnishmentFormReady} once ready.\n * @public\n *\n * @example\n * ```tsx\n * import { useChildSupportGarnishmentForm, SDKFormProvider } from '@gusto/embedded-react-sdk'\n *\n * function ChildSupportPage({ employeeId, garnishmentId }: { employeeId: string; garnishmentId?: string }) {\n * const form = useChildSupportGarnishmentForm({ employeeId, garnishmentId })\n *\n * if (form.isLoading) return <p>Loading…</p>\n *\n * const { Fields } = form.form\n *\n * return (\n * <SDKFormProvider formHookResult={form}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void form.actions.onSubmit()\n * }}\n * >\n * <Fields.State\n * label=\"Agency\"\n * getOptionLabel={entry => entry.name}\n * validationMessages={{ REQUIRED: 'Required' }}\n * />\n * {Fields.CaseNumber && (\n * <Fields.CaseNumber label=\"Case number\" validationMessages={{ REQUIRED: 'Required' }} />\n * )}\n * <Fields.Amount\n * label=\"Percentage of paycheck\"\n * validationMessages={{\n * REQUIRED: 'Required',\n * PERCENT_OUT_OF_RANGE: 'Must be between 0 and 100',\n * }}\n * />\n * <button type=\"submit\">Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useChildSupportGarnishmentForm({\n employeeId,\n garnishmentId,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseChildSupportGarnishmentFormProps): UseChildSupportGarnishmentFormResult {\n const isCreateMode = !garnishmentId\n const schemaMode = isCreateMode ? 'create' : 'update'\n\n // Agencies + their required-attributes / fips codes come from a single GET.\n const agencyDataQuery = useGarnishmentsGetChildSupportData({})\n const agencyList = useMemo(\n () => agencyDataQuery.data?.childSupportData?.agencies ?? [],\n [agencyDataQuery.data],\n )\n\n // Update mode reads the row from the list endpoint (the garnishments API\n // has no single-row GET).\n const garnishmentsListQuery = useGarnishmentsList({ employeeId }, { enabled: !isCreateMode })\n const fetchedDeduction = useMemo(() => {\n if (isCreateMode) return null\n return garnishmentsListQuery.data?.garnishments?.find(g => g.uuid === garnishmentId) ?? null\n }, [isCreateMode, garnishmentId, garnishmentsListQuery.data])\n\n const resolvedDefaults: ChildSupportGarnishmentFormData = useMemo(\n () => ({\n state: fetchedDeduction?.childSupport?.state ?? partnerDefaults?.state ?? '',\n fipsCode: fetchedDeduction?.childSupport?.fipsCode ?? partnerDefaults?.fipsCode ?? '',\n caseNumber: fetchedDeduction?.childSupport?.caseNumber ?? partnerDefaults?.caseNumber ?? '',\n orderNumber:\n fetchedDeduction?.childSupport?.orderNumber ?? partnerDefaults?.orderNumber ?? '',\n remittanceNumber:\n fetchedDeduction?.childSupport?.remittanceNumber ?? partnerDefaults?.remittanceNumber ?? '',\n amount: fetchedDeduction?.amount\n ? Number(fetchedDeduction.amount)\n : (partnerDefaults?.amount ?? 0),\n payPeriodMaximum: fetchedDeduction?.payPeriodMaximum\n ? Number(fetchedDeduction.payPeriodMaximum)\n : (partnerDefaults?.payPeriodMaximum ?? 0),\n paymentPeriod:\n (fetchedDeduction?.childSupport?.paymentPeriod as PaymentPeriod | undefined) ??\n partnerDefaults?.paymentPeriod ??\n PaymentPeriod.Monthly,\n }),\n [fetchedDeduction, partnerDefaults],\n )\n\n // Pass the full agency list so requiredness for the agency-attribute fields\n // (`caseNumber`, `orderNumber`, `remittanceNumber`) is derived dynamically\n // from the form's `state` value. The schema doesn't need to rebuild when the\n // user changes states — the predicate runs at validation time and via\n // `useDeriveFieldsMetadata` for the (optional) label.\n const [schema, metadataConfig] = useMemo(\n () => createChildSupportGarnishmentFormSchema({ mode: schemaMode, agencyList }),\n [schemaMode, agencyList],\n )\n\n const formMethods = useForm<\n ChildSupportGarnishmentFormData,\n unknown,\n ChildSupportGarnishmentFormOutputs\n >({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const liveWatchedState = useWatch({ control: formMethods.control, name: 'state' })\n const liveSelectedAgency = useMemo(\n () => agencyList.find(a => a.state === liveWatchedState) ?? null,\n [agencyList, liveWatchedState],\n )\n\n // The agency-attribute fields stay in sync with the chosen state: when the\n // user switches states, the previous attribute values would otherwise carry\n // over and potentially submit alongside the wrong agency. The ref tracks\n // the previous value so the wipe only fires on user-driven transitions —\n // NOT on the initial sync when an existing garnishment loads (state moves\n // from '' to e.g. 'AK' as a side effect of `values` updating, which would\n // otherwise clobber the loaded case/order/remittance values).\n const previousWatchedStateRef = useRef<string | null>(null)\n useEffect(() => {\n const previous = previousWatchedStateRef.current\n previousWatchedStateRef.current = liveWatchedState\n // First render (no previous value) → skip the wipe.\n if (previous === null) return\n // Server-side load: previous was '' (initial defaults before the row\n // arrived), now it's the loaded state. That's a sync, not a user toggle.\n if (previous === '') return\n if (previous === liveWatchedState) return\n formMethods.setValue('caseNumber', '')\n formMethods.setValue('orderNumber', '')\n formMethods.setValue('remittanceNumber', '')\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [liveWatchedState])\n\n // When the selected agency has a single \"all counties\" fips code, auto-fill\n // the field so the consumer doesn't have to render the county select.\n const fipsCodes = liveSelectedAgency?.fipsCodes ?? []\n const singleAllCountiesFipsCode =\n fipsCodes.length === 1 && !fipsCodes[0]?.county?.length ? (fipsCodes[0]?.code ?? null) : null\n useEffect(() => {\n if (singleAllCountiesFipsCode) {\n formMethods.setValue('fipsCode', singleAllCountiesFipsCode)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [singleAllCountiesFipsCode])\n\n const createGarnishmentMutation = useGarnishmentsCreateMutation()\n const updateGarnishmentMutation = useGarnishmentsUpdateMutation()\n const isPending = createGarnishmentMutation.isPending || updateGarnishmentMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ChildSupportGarnishmentForm')\n\n const errorHandling = composeErrorHandler(\n isCreateMode ? [agencyDataQuery] : [agencyDataQuery, garnishmentsListQuery],\n { submitError, setSubmitError },\n )\n\n // ── Derived data exposed on the ready branch ─────────────────────────\n\n const agencies: StateFieldEntry[] = useMemo(\n () =>\n agencyList.map(a => ({\n state: a.state ?? '',\n name: a.name ?? a.state ?? '',\n manualPaymentRequired: a.manualPaymentRequired ?? false,\n })),\n [agencyList],\n )\n\n const counties: CountyEntry[] = useMemo(\n () =>\n (liveSelectedAgency?.fipsCodes ?? [])\n .filter(f => typeof f.code === 'string')\n .map(f => ({ fipsCode: f.code as string, county: f.county ?? null })),\n [liveSelectedAgency],\n )\n\n const requiredAttrKeys = useMemo(\n () => getRequiredAttrKeys(liveSelectedAgency),\n [liveSelectedAgency],\n )\n\n const hasSelectableCounties =\n counties.length > 1 || (counties.length === 1 && singleAllCountiesFipsCode == null)\n\n // ── Metadata + field-options wiring ─────────────────────────────────\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const stateOptions = agencies.map(a => ({ value: a.state, label: a.name }))\n const countyOptions = counties.map(c => ({\n value: c.fipsCode,\n label: c.county ?? c.fipsCode,\n }))\n\n const fieldsMetadata = {\n state: withOptions(baseMetadata.state, stateOptions, agencies),\n fipsCode: withOptions(baseMetadata.fipsCode, countyOptions, counties),\n caseNumber: baseMetadata.caseNumber,\n orderNumber: baseMetadata.orderNumber,\n remittanceNumber: baseMetadata.remittanceNumber,\n payPeriodMaximum: baseMetadata.payPeriodMaximum,\n amount: baseMetadata.amount,\n paymentPeriod: withOptions(\n baseMetadata.paymentPeriod,\n [...PAYMENT_PERIOD_OPTIONS],\n [...PAYMENT_PERIOD_ENTRIES],\n ),\n }\n\n // ── Submit ───────────────────────────────────────────────────────────\n\n const onSubmit = async (): Promise<HookSubmitResult<Garnishment> | undefined> => {\n let submitResult: HookSubmitResult<Garnishment> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: ChildSupportGarnishmentFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const childSupport = {\n state: payload.state,\n paymentPeriod: payload.paymentPeriod,\n fipsCode: payload.fipsCode,\n // Empty strings collapse to null so the API persists \"no value\n // declared\" rather than an empty case number.\n caseNumber: payload.caseNumber || null,\n orderNumber: payload.orderNumber || null,\n remittanceNumber: payload.remittanceNumber || null,\n }\n\n const description = `Child Support - ${childSupport.caseNumber ?? ''}`\n const amountStr = String(payload.amount)\n const payPeriodMaximumStr =\n payload.payPeriodMaximum > 0 ? String(payload.payPeriodMaximum) : null\n\n const requestBody = {\n active: true,\n amount: amountStr,\n description,\n courtOrdered: true,\n garnishmentType: 'child_support' as GarnishmentType,\n times: null,\n deductAsPercentage: true,\n payPeriodMaximum: payPeriodMaximumStr,\n recurring: true,\n childSupport,\n }\n\n let updated: Garnishment | undefined\n\n if (isCreateMode) {\n const result = await createGarnishmentMutation.mutateAsync({\n request: { employeeId, garnishmentRequest: requestBody },\n })\n updated = result.garnishment\n } else {\n if (!fetchedDeduction) {\n throw new SDKInternalError(\n 'Cannot update child-support deduction: no matching garnishment on file',\n )\n }\n const result = await updateGarnishmentMutation.mutateAsync({\n request: {\n garnishmentId: fetchedDeduction.uuid,\n updateGarnishmentRequest: {\n ...requestBody,\n version: fetchedDeduction.version as string,\n },\n },\n })\n updated = result.garnishment\n }\n\n if (!updated) {\n throw new SDKInternalError(\n isCreateMode\n ? 'Child-support deduction creation failed'\n : 'Child-support deduction update failed',\n )\n }\n\n submitResult = {\n mode: isCreateMode ? 'create' : 'update',\n data: updated,\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (agencyDataQuery.isLoading) {\n return { isLoading: true as const, errorHandling }\n }\n if (!isCreateMode && garnishmentsListQuery.isLoading) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n agencies,\n counties,\n deduction: fetchedDeduction,\n },\n status: {\n isPending,\n mode: isCreateMode ? 'create' : 'update',\n selectedAgency: liveSelectedAgency,\n isManualPaymentRequired: liveSelectedAgency?.manualPaymentRequired ?? false,\n requiredAttrKeys,\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n State: StateField,\n FipsCode: hasSelectableCounties ? FipsCodeField : undefined,\n CaseNumber: requiredAttrKeys.has('case_number') ? CaseNumberField : undefined,\n OrderNumber: requiredAttrKeys.has('order_number') ? OrderNumberField : undefined,\n RemittanceNumber: requiredAttrKeys.has('remittance_number')\n ? RemittanceNumberField\n : undefined,\n PayPeriodMaximum: PayPeriodMaximumField,\n Amount: AmountField,\n PaymentPeriod: PaymentPeriodField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Per-field metadata returned by {@link useChildSupportGarnishmentForm} as `form.fieldsMetadata`.\n *\n * @remarks\n * Carries per-field `isRequired`, `isDisabled`, label, description, and option\n * entries derived from the schema and form state. Use these to drive UI such\n * as disabled state or option lists when not relying on the pre-bound\n * {@link ChildSupportGarnishmentFormFields} components.\n *\n * @public\n */\nexport type ChildSupportGarnishmentFormFieldsMetadata =\n UseChildSupportGarnishmentFormReady['form']['fieldsMetadata']\n"],"names":["PAYMENT_PERIOD_OPTIONS","PaymentPeriod","PAYMENT_PERIOD_ENTRIES","useChildSupportGarnishmentForm","employeeId","garnishmentId","partnerDefaults","validationMode","shouldFocusError","isCreateMode","schemaMode","agencyDataQuery","useGarnishmentsGetChildSupportData","agencyList","useMemo","garnishmentsListQuery","useGarnishmentsList","fetchedDeduction","g","resolvedDefaults","schema","metadataConfig","createChildSupportGarnishmentFormSchema","formMethods","useForm","zodResolver","liveWatchedState","useWatch","liveSelectedAgency","a","previousWatchedStateRef","useRef","useEffect","previous","fipsCodes","singleAllCountiesFipsCode","createGarnishmentMutation","useGarnishmentsCreateMutation","updateGarnishmentMutation","useGarnishmentsUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","agencies","counties","f","requiredAttrKeys","getRequiredAttrKeys","hasSelectableCounties","baseMetadata","useDeriveFieldsMetadata","stateOptions","countyOptions","c","fieldsMetadata","withOptions","onSubmit","submitResult","resolve","data","payload","childSupport","description","amountStr","payPeriodMaximumStr","requestBody","updated","SDKInternalError","hookFormInternals","useHookFormInternals","StateField","FipsCodeField","CaseNumberField","OrderNumberField","RemittanceNumberField","PayPeriodMaximumField","AmountField","PaymentPeriodField","createGetFormSubmissionValues"],"mappings":"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"}
@@ -1,9 +1,20 @@
1
1
  import { z } from 'zod';
2
2
  import { OptionalFieldsToRequire } from '../../../../../partner-hook-utils/form/buildFormSchema';
3
+ /**
4
+ * Validation error codes emitted by the deduction form schema. Map these
5
+ * codes to localized copy in `validationMessages` when composing the hook.
6
+ *
7
+ * @public
8
+ */
3
9
  export declare const DeductionFormErrorCodes: {
4
10
  readonly REQUIRED: "REQUIRED";
5
11
  readonly NEGATIVE_AMOUNT: "NEGATIVE_AMOUNT";
6
12
  };
13
+ /**
14
+ * Union of validation error code strings emitted by the deduction form schema.
15
+ *
16
+ * @public
17
+ */
7
18
  export type DeductionFormErrorCode = (typeof DeductionFormErrorCodes)[keyof typeof DeductionFormErrorCodes];
8
19
  declare const fieldValidators: {
9
20
  description: z.ZodString;
@@ -22,16 +33,32 @@ declare const fieldValidators: {
22
33
  readonly OtherGarnishment: "other_garnishment";
23
34
  }>;
24
35
  };
25
- export type DeductionFormField = keyof typeof fieldValidators;
36
+ /**
37
+ * Shape of the values managed by the deduction form.
38
+ *
39
+ * @public
40
+ */
26
41
  export type DeductionFormData = {
27
42
  [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
28
43
  };
44
+ /**
45
+ * Shape of the validated values produced by the deduction form on submit.
46
+ *
47
+ * @public
48
+ */
29
49
  export type DeductionFormOutputs = DeductionFormData;
30
50
  declare const requiredFieldsConfig: {
31
51
  totalAmount: "never";
32
52
  annualMaximum: "never";
33
53
  };
54
+ /**
55
+ * Keys of optional deduction fields that can be promoted to required via the
56
+ * hook's `optionalFieldsToRequire` option.
57
+ *
58
+ * @public
59
+ */
34
60
  export type DeductionFormOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
61
+ /** @internal */
35
62
  interface DeductionFormSchemaOptions {
36
63
  mode?: 'create' | 'update';
37
64
  /**
@@ -43,6 +70,7 @@ interface DeductionFormSchemaOptions {
43
70
  courtOrdered: boolean;
44
71
  optionalFieldsToRequire?: DeductionFormOptionalFieldsToRequire;
45
72
  }
73
+ /** @internal */
46
74
  export declare function createDeductionFormSchema(options: DeductionFormSchemaOptions): import('../../../../../partner-hook-utils/form/buildFormSchema').BuildFormSchemaResult<{
47
75
  description: z.ZodString;
48
76
  recurring: z.ZodPipe<z.ZodTransform<boolean | undefined, unknown>, z.ZodBoolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"deductionFormSchema.js","sources":["../../../../../../src/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport { GarnishmentType } from '@gusto/embedded-api-v-2025-11-15/models/components/garnishment'\nimport {\n buildFormSchema,\n type RequiredFieldConfig,\n type OptionalFieldsToRequire,\n} from '@/partner-hook-utils/form/buildFormSchema'\nimport { coerceNaN, coerceStringBoolean } from '@/partner-hook-utils/form/preprocessors'\n\n// ── Error codes ────────────────────────────────────────────────────────\n\nexport const DeductionFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n NEGATIVE_AMOUNT: 'NEGATIVE_AMOUNT',\n} as const\n\nexport type DeductionFormErrorCode =\n (typeof DeductionFormErrorCodes)[keyof typeof DeductionFormErrorCodes]\n\n// ── Field validators ───────────────────────────────────────────────────\n\nconst fieldValidators = {\n description: z.string(),\n // Radio groups deliver `'true'`/`'false'` strings; coerce to boolean for the\n // submit payload. Matches the useJobForm pattern.\n recurring: z.preprocess(coerceStringBoolean, z.boolean()),\n deductAsPercentage: z.preprocess(coerceStringBoolean, z.boolean()),\n // Currency / percent input. NumberInputField writes `number | undefined`;\n // coerce to a numeric so .min(0) runs reliably. The number-to-string\n // conversion the garnishment API expects happens inside the hook's onSubmit,\n // so the form value stays a number end-to-end (input === output).\n amount: z.preprocess(\n coerceNaN(0),\n z.number().min(0, { message: DeductionFormErrorCodes.NEGATIVE_AMOUNT }),\n ),\n // Optional caps. The hook drops them to `null` on the wire when 0 — matches\n // the legacy DeductionSchema's \"0 means no cap\" behavior.\n totalAmount: z.preprocess(\n coerceNaN(0),\n z.number().min(0, { message: DeductionFormErrorCodes.NEGATIVE_AMOUNT }),\n ),\n annualMaximum: z.preprocess(\n coerceNaN(0),\n z.number().min(0, { message: DeductionFormErrorCodes.NEGATIVE_AMOUNT }),\n ),\n // Only used when `courtOrdered: true` — see `excludeFields` below.\n garnishmentType: z.enum(GarnishmentType),\n}\n\nexport type DeductionFormField = keyof typeof fieldValidators\n\nexport type DeductionFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\n\nexport type DeductionFormOutputs = DeductionFormData\n\n// ── Required fields config ─────────────────────────────────────────────\n//\n// `description`, `recurring`, `deductAsPercentage`, `amount` are required by\n// default. `garnishmentType` is required only when present in the shape\n// (court-ordered branch). `totalAmount` and `annualMaximum` are caps the\n// partner can leave blank.\n\nconst requiredFieldsConfig = {\n totalAmount: 'never',\n annualMaximum: 'never',\n} satisfies RequiredFieldConfig<typeof fieldValidators>\n\nexport type DeductionFormOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\ninterface DeductionFormSchemaOptions {\n mode?: 'create' | 'update'\n /**\n * Court-ordered garnishments require `garnishmentType` (Federal Tax Lien,\n * Student Loan, etc.). Non-court-ordered \"custom\" deductions don't carry a\n * type — the field is excluded from the schema entirely, matching the legacy\n * GarnishmentForm vs CustomDeductionForm split.\n */\n courtOrdered: boolean\n optionalFieldsToRequire?: DeductionFormOptionalFieldsToRequire\n}\n\nexport function createDeductionFormSchema(options: DeductionFormSchemaOptions) {\n const { mode = 'create', courtOrdered, optionalFieldsToRequire } = options\n\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: DeductionFormErrorCodes.REQUIRED,\n mode,\n optionalFieldsToRequire,\n excludeFields: courtOrdered ? [] : ['garnishmentType'],\n })\n}\n"],"names":["DeductionFormErrorCodes","fieldValidators","z","coerceStringBoolean","coerceNaN","GarnishmentType","requiredFieldsConfig","createDeductionFormSchema","options","mode","courtOrdered","optionalFieldsToRequire","buildFormSchema"],"mappings":";;;;AAWO,MAAMA,IAA0B;AAAA,EACrC,UAAU;AAAA,EACV,iBAAiB;AACnB,GAOMC,IAAkB;AAAA,EACtB,aAAaC,EAAE,OAAA;AAAA;AAAA;AAAA,EAGf,WAAWA,EAAE,WAAWC,GAAqBD,EAAE,SAAS;AAAA,EACxD,oBAAoBA,EAAE,WAAWC,GAAqBD,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjE,QAAQA,EAAE;AAAA,IACRE,EAAU,CAAC;AAAA,IACXF,EAAE,SAAS,IAAI,GAAG,EAAE,SAASF,EAAwB,gBAAA,CAAiB;AAAA,EAAA;AAAA;AAAA;AAAA,EAIxE,aAAaE,EAAE;AAAA,IACbE,EAAU,CAAC;AAAA,IACXF,EAAE,SAAS,IAAI,GAAG,EAAE,SAASF,EAAwB,gBAAA,CAAiB;AAAA,EAAA;AAAA,EAExE,eAAeE,EAAE;AAAA,IACfE,EAAU,CAAC;AAAA,IACXF,EAAE,SAAS,IAAI,GAAG,EAAE,SAASF,EAAwB,gBAAA,CAAiB;AAAA,EAAA;AAAA;AAAA,EAGxE,iBAAiBE,EAAE,KAAKG,CAAe;AACzC,GAiBMC,IAAuB;AAAA,EAC3B,aAAa;AAAA,EACb,eAAe;AACjB;AAkBO,SAASC,EAA0BC,GAAqC;AAC7E,QAAM,EAAE,MAAAC,IAAO,UAAU,cAAAC,GAAc,yBAAAC,MAA4BH;AAEnE,SAAOI,EAAgBX,GAAiB;AAAA,IACtC,sBAAAK;AAAA,IACA,mBAAmBN,EAAwB;AAAA,IAC3C,MAAAS;AAAA,IACA,yBAAAE;AAAA,IACA,eAAeD,IAAe,CAAA,IAAK,CAAC,iBAAiB;AAAA,EAAA,CACtD;AACH;"}
1
+ {"version":3,"file":"deductionFormSchema.js","sources":["../../../../../../src/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport { GarnishmentType } from '@gusto/embedded-api-v-2025-11-15/models/components/garnishment'\nimport {\n buildFormSchema,\n type RequiredFieldConfig,\n type OptionalFieldsToRequire,\n} from '@/partner-hook-utils/form/buildFormSchema'\nimport { coerceNaN, coerceStringBoolean } from '@/partner-hook-utils/form/preprocessors'\n\n// ── Error codes ────────────────────────────────────────────────────────\n\n/**\n * Validation error codes emitted by the deduction form schema. Map these\n * codes to localized copy in `validationMessages` when composing the hook.\n *\n * @public\n */\nexport const DeductionFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n NEGATIVE_AMOUNT: 'NEGATIVE_AMOUNT',\n} as const\n\n/**\n * Union of validation error code strings emitted by the deduction form schema.\n *\n * @public\n */\nexport type DeductionFormErrorCode =\n (typeof DeductionFormErrorCodes)[keyof typeof DeductionFormErrorCodes]\n\n// ── Field validators ───────────────────────────────────────────────────\n\nconst fieldValidators = {\n description: z.string(),\n // Radio groups deliver `'true'`/`'false'` strings; coerce to boolean for the\n // submit payload. Matches the useJobForm pattern.\n recurring: z.preprocess(coerceStringBoolean, z.boolean()),\n deductAsPercentage: z.preprocess(coerceStringBoolean, z.boolean()),\n // Currency / percent input. NumberInputField writes `number | undefined`;\n // coerce to a numeric so .min(0) runs reliably. The number-to-string\n // conversion the garnishment API expects happens inside the hook's onSubmit,\n // so the form value stays a number end-to-end (input === output).\n amount: z.preprocess(\n coerceNaN(0),\n z.number().min(0, { message: DeductionFormErrorCodes.NEGATIVE_AMOUNT }),\n ),\n // Optional caps. The hook drops them to `null` on the wire when 0 — matches\n // the legacy DeductionSchema's \"0 means no cap\" behavior.\n totalAmount: z.preprocess(\n coerceNaN(0),\n z.number().min(0, { message: DeductionFormErrorCodes.NEGATIVE_AMOUNT }),\n ),\n annualMaximum: z.preprocess(\n coerceNaN(0),\n z.number().min(0, { message: DeductionFormErrorCodes.NEGATIVE_AMOUNT }),\n ),\n // Only used when `courtOrdered: true` — see `excludeFields` below.\n garnishmentType: z.enum(GarnishmentType),\n}\n\n/**\n * Shape of the values managed by the deduction form.\n *\n * @public\n */\nexport type DeductionFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\n\n/**\n * Shape of the validated values produced by the deduction form on submit.\n *\n * @public\n */\nexport type DeductionFormOutputs = DeductionFormData\n\n// ── Required fields config ─────────────────────────────────────────────\n//\n// `description`, `recurring`, `deductAsPercentage`, `amount` are required by\n// default. `garnishmentType` is required only when present in the shape\n// (court-ordered branch). `totalAmount` and `annualMaximum` are caps the\n// partner can leave blank.\n\nconst requiredFieldsConfig = {\n totalAmount: 'never',\n annualMaximum: 'never',\n} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n/**\n * Keys of optional deduction fields that can be promoted to required via the\n * hook's `optionalFieldsToRequire` option.\n *\n * @public\n */\nexport type DeductionFormOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\n/** @internal */\ninterface DeductionFormSchemaOptions {\n mode?: 'create' | 'update'\n /**\n * Court-ordered garnishments require `garnishmentType` (Federal Tax Lien,\n * Student Loan, etc.). Non-court-ordered \"custom\" deductions don't carry a\n * type — the field is excluded from the schema entirely, matching the legacy\n * GarnishmentForm vs CustomDeductionForm split.\n */\n courtOrdered: boolean\n optionalFieldsToRequire?: DeductionFormOptionalFieldsToRequire\n}\n\n/** @internal */\nexport function createDeductionFormSchema(options: DeductionFormSchemaOptions) {\n const { mode = 'create', courtOrdered, optionalFieldsToRequire } = options\n\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: DeductionFormErrorCodes.REQUIRED,\n mode,\n optionalFieldsToRequire,\n excludeFields: courtOrdered ? [] : ['garnishmentType'],\n })\n}\n"],"names":["DeductionFormErrorCodes","fieldValidators","z","coerceStringBoolean","coerceNaN","GarnishmentType","requiredFieldsConfig","createDeductionFormSchema","options","mode","courtOrdered","optionalFieldsToRequire","buildFormSchema"],"mappings":";;;;AAiBO,MAAMA,IAA0B;AAAA,EACrC,UAAU;AAAA,EACV,iBAAiB;AACnB,GAYMC,IAAkB;AAAA,EACtB,aAAaC,EAAE,OAAA;AAAA;AAAA;AAAA,EAGf,WAAWA,EAAE,WAAWC,GAAqBD,EAAE,SAAS;AAAA,EACxD,oBAAoBA,EAAE,WAAWC,GAAqBD,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjE,QAAQA,EAAE;AAAA,IACRE,EAAU,CAAC;AAAA,IACXF,EAAE,SAAS,IAAI,GAAG,EAAE,SAASF,EAAwB,gBAAA,CAAiB;AAAA,EAAA;AAAA;AAAA;AAAA,EAIxE,aAAaE,EAAE;AAAA,IACbE,EAAU,CAAC;AAAA,IACXF,EAAE,SAAS,IAAI,GAAG,EAAE,SAASF,EAAwB,gBAAA,CAAiB;AAAA,EAAA;AAAA,EAExE,eAAeE,EAAE;AAAA,IACfE,EAAU,CAAC;AAAA,IACXF,EAAE,SAAS,IAAI,GAAG,EAAE,SAASF,EAAwB,gBAAA,CAAiB;AAAA,EAAA;AAAA;AAAA,EAGxE,iBAAiBE,EAAE,KAAKG,CAAe;AACzC,GAyBMC,IAAuB;AAAA,EAC3B,aAAa;AAAA,EACb,eAAe;AACjB;AA0BO,SAASC,EAA0BC,GAAqC;AAC7E,QAAM,EAAE,MAAAC,IAAO,UAAU,cAAAC,GAAc,yBAAAC,MAA4BH;AAEnE,SAAOI,EAAgBX,GAAiB;AAAA,IACtC,sBAAAK;AAAA,IACA,mBAAmBN,EAAwB;AAAA,IAC3C,MAAAS;AAAA,IACA,yBAAAE;AAAA,IACA,eAAeD,IAAe,CAAA,IAAK,CAAC,iBAAiB;AAAA,EAAA,CACtD;AACH;"}