@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
@@ -8,6 +8,8 @@ import { FormHookResult, ValidationMessages } from '../../../../../partner-hook-
8
8
  * (Amount mode, `value < 0`), `INVALID_PERCENTAGE` (Percentage mode, non-integer
9
9
  * or out of `0..100`). Supply translations for all three via `validationMessages`.
10
10
  * The sum-to-100 invariant is surfaced separately via `status.hasPercentageImbalance`.
11
+ *
12
+ * @public
11
13
  */
12
14
  export type SplitFieldValidation = typeof SplitPaymentsFormErrorCodes.REQUIRED | typeof SplitPaymentsFormErrorCodes.INVALID_AMOUNT | typeof SplitPaymentsFormErrorCodes.INVALID_PERCENTAGE;
13
15
  /**
@@ -16,21 +18,42 @@ export type SplitFieldValidation = typeof SplitPaymentsFormErrorCodes.REQUIRED |
16
18
  * formats values as currency in Amount mode and as a percentage in
17
19
  * Percentage mode. The remainder split is auto-disabled and treated as not
18
20
  * required by the hook; the rest are required.
21
+ *
22
+ * @public
19
23
  */
20
24
  export interface SplitFieldProps {
25
+ /** Label shown above the input. */
21
26
  label: string;
27
+ /** Optional descriptive text rendered below the label. */
22
28
  description?: ReactNode;
29
+ /** Pass-through of the parent form hook result for cross-field validation context. */
23
30
  formHookResult?: FormHookResult;
31
+ /** Override the default localized validation message(s). */
24
32
  validationMessages?: ValidationMessages<SplitFieldValidation>;
33
+ /** Forwarded to the underlying number input. */
25
34
  min?: NumberInputProps['min'];
35
+ /** Forwarded to the underlying number input. */
26
36
  max?: NumberInputProps['max'];
37
+ /** Forwarded to the underlying number input. */
27
38
  placeholder?: NumberInputProps['placeholder'];
39
+ /** Override the rendered number input component. */
28
40
  FieldComponent?: ComponentType<NumberInputProps>;
29
41
  }
42
+ /**
43
+ * Single per-account entry surfaced on `form.Fields.splits`. Each entry
44
+ * carries identifying metadata for the underlying bank account plus the bound
45
+ * Field component for its split amount.
46
+ *
47
+ * @public
48
+ */
30
49
  export interface SplitFieldEntry {
50
+ /** Bank account uuid that this split targets. */
31
51
  uuid: string;
52
+ /** Display name of the bank account, when available. */
32
53
  name: string | null;
54
+ /** Last-four masking string for the bank account number, when available. */
33
55
  hiddenAccountNumber: string | null;
56
+ /** Bound Field component for this split's amount input. */
34
57
  Field: ComponentType<SplitFieldProps>;
35
58
  }
36
59
  interface BuildSplitFieldsInput {
@@ -43,6 +66,8 @@ interface BuildSplitFieldsInput {
43
66
  * memoizing on the stable set of split uuids so Field identity stays stable
44
67
  * across mode toggles and reorders — those changes are observed inside each
45
68
  * Field rather than baked into the closure.
69
+ *
70
+ * @internal
46
71
  */
47
72
  export declare function buildSplitFieldEntries(splits: BuildSplitFieldsInput[]): SplitFieldEntry[];
48
73
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"splitFieldFactory.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from 'react'\nimport { useWatch, type Control } from 'react-hook-form'\nimport type {\n SplitPaymentsFormErrorCodes,\n SplitPaymentsFormData,\n} from './useSplitPaymentsFormSchema'\nimport { NumberInputHookField } from '@/partner-hook-utils/form/fields'\nimport type { NumberInputProps } from '@/components/Common/UI/NumberInput/NumberInputTypes'\nimport type { FormHookResult, ValidationMessages } from '@/partner-hook-utils/types'\nimport { SPLIT_BY } from '@/shared/constants'\n\n/**\n * Validation codes a bound split-amount Field can emit at submit time:\n * `REQUIRED` (every non-remainder split must have a value), `INVALID_AMOUNT`\n * (Amount mode, `value < 0`), `INVALID_PERCENTAGE` (Percentage mode, non-integer\n * or out of `0..100`). Supply translations for all three via `validationMessages`.\n * The sum-to-100 invariant is surfaced separately via `status.hasPercentageImbalance`.\n */\nexport type SplitFieldValidation =\n | typeof SplitPaymentsFormErrorCodes.REQUIRED\n | typeof SplitPaymentsFormErrorCodes.INVALID_AMOUNT\n | typeof SplitPaymentsFormErrorCodes.INVALID_PERCENTAGE\n\n/**\n * Props accepted by a bound split-amount Field exposed on\n * `form.Fields.splits[i].Field`. The Field is pre-bound to its split; it\n * formats values as currency in Amount mode and as a percentage in\n * Percentage mode. The remainder split is auto-disabled and treated as not\n * required by the hook; the rest are required.\n */\nexport interface SplitFieldProps {\n label: string\n description?: ReactNode\n formHookResult?: FormHookResult\n validationMessages?: ValidationMessages<SplitFieldValidation>\n min?: NumberInputProps['min']\n max?: NumberInputProps['max']\n placeholder?: NumberInputProps['placeholder']\n FieldComponent?: ComponentType<NumberInputProps>\n}\n\nexport interface SplitFieldEntry {\n uuid: string\n name: string | null\n hiddenAccountNumber: string | null\n Field: ComponentType<SplitFieldProps>\n}\n\ninterface BuildSplitFieldsInput {\n uuid: string\n name: string | null\n hiddenAccountNumber: string | null\n}\n\nfunction createBoundSplitField(uuid: string): ComponentType<SplitFieldProps> {\n function BoundSplitField({\n label,\n description,\n formHookResult,\n validationMessages,\n min,\n max,\n placeholder,\n FieldComponent,\n }: SplitFieldProps) {\n const externalControl = formHookResult?.form.hookFormInternals.formMethods.control as\n | Control<SplitPaymentsFormData>\n | undefined\n const splitBy = useWatch({ control: externalControl, name: 'splitBy' })\n const format: NumberInputProps['format'] = splitBy === SPLIT_BY.amount ? 'currency' : 'percent'\n\n return (\n <NumberInputHookField<SplitFieldValidation>\n name={`splitAmount.${uuid}`}\n formHookResult={formHookResult}\n label={label}\n description={description}\n validationMessages={validationMessages}\n format={format}\n min={min}\n max={max}\n placeholder={placeholder}\n FieldComponent={FieldComponent}\n />\n )\n }\n BoundSplitField.displayName = `SplitField(${uuid})`\n return BoundSplitField\n}\n\n/**\n * Build the per-split bound Field components. The caller is responsible for\n * memoizing on the stable set of split uuids so Field identity stays stable\n * across mode toggles and reorders — those changes are observed inside each\n * Field rather than baked into the closure.\n */\nexport function buildSplitFieldEntries(splits: BuildSplitFieldsInput[]): SplitFieldEntry[] {\n return splits.map(split => ({\n uuid: split.uuid,\n name: split.name,\n hiddenAccountNumber: split.hiddenAccountNumber,\n Field: createBoundSplitField(split.uuid),\n }))\n}\n"],"names":["createBoundSplitField","uuid","BoundSplitField","label","description","formHookResult","validationMessages","min","max","placeholder","FieldComponent","externalControl","format","useWatch","SPLIT_BY","jsx","NumberInputHookField","buildSplitFieldEntries","splits","split"],"mappings":";;;;AAsDA,SAASA,EAAsBC,GAA8C;AAC3E,WAASC,EAAgB;AAAA,IACvB,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,KAAAC;AAAA,IACA,KAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,GACkB;AAClB,UAAMC,IAAkBN,GAAgB,KAAK,kBAAkB,YAAY,SAIrEO,IADUC,EAAS,EAAE,SAASF,GAAiB,MAAM,WAAW,MACfG,EAAS,SAAS,aAAa;AAEtF,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAM,eAAef,CAAI;AAAA,QACzB,gBAAAI;AAAA,QACA,OAAAF;AAAA,QACA,aAAAC;AAAA,QACA,oBAAAE;AAAA,QACA,QAAAM;AAAA,QACA,KAAAL;AAAA,QACA,KAAAC;AAAA,QACA,aAAAC;AAAA,QACA,gBAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACA,SAAAR,EAAgB,cAAc,cAAcD,CAAI,KACzCC;AACT;AAQO,SAASe,EAAuBC,GAAoD;AACzF,SAAOA,EAAO,IAAI,CAAAC,OAAU;AAAA,IAC1B,MAAMA,EAAM;AAAA,IACZ,MAAMA,EAAM;AAAA,IACZ,qBAAqBA,EAAM;AAAA,IAC3B,OAAOnB,EAAsBmB,EAAM,IAAI;AAAA,EAAA,EACvC;AACJ;"}
1
+ {"version":3,"file":"splitFieldFactory.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from 'react'\nimport { useWatch, type Control } from 'react-hook-form'\nimport type {\n SplitPaymentsFormErrorCodes,\n SplitPaymentsFormData,\n} from './useSplitPaymentsFormSchema'\nimport { NumberInputHookField } from '@/partner-hook-utils/form/fields'\nimport type { NumberInputProps } from '@/components/Common/UI/NumberInput/NumberInputTypes'\nimport type { FormHookResult, ValidationMessages } from '@/partner-hook-utils/types'\nimport { SPLIT_BY } from '@/shared/constants'\n\n/**\n * Validation codes a bound split-amount Field can emit at submit time:\n * `REQUIRED` (every non-remainder split must have a value), `INVALID_AMOUNT`\n * (Amount mode, `value < 0`), `INVALID_PERCENTAGE` (Percentage mode, non-integer\n * or out of `0..100`). Supply translations for all three via `validationMessages`.\n * The sum-to-100 invariant is surfaced separately via `status.hasPercentageImbalance`.\n *\n * @public\n */\nexport type SplitFieldValidation =\n | typeof SplitPaymentsFormErrorCodes.REQUIRED\n | typeof SplitPaymentsFormErrorCodes.INVALID_AMOUNT\n | typeof SplitPaymentsFormErrorCodes.INVALID_PERCENTAGE\n\n/**\n * Props accepted by a bound split-amount Field exposed on\n * `form.Fields.splits[i].Field`. The Field is pre-bound to its split; it\n * formats values as currency in Amount mode and as a percentage in\n * Percentage mode. The remainder split is auto-disabled and treated as not\n * required by the hook; the rest are required.\n *\n * @public\n */\nexport interface SplitFieldProps {\n /** Label shown above the input. */\n label: string\n /** Optional descriptive text rendered below the label. */\n description?: ReactNode\n /** Pass-through of the parent form hook result for cross-field validation context. */\n formHookResult?: FormHookResult\n /** Override the default localized validation message(s). */\n validationMessages?: ValidationMessages<SplitFieldValidation>\n /** Forwarded to the underlying number input. */\n min?: NumberInputProps['min']\n /** Forwarded to the underlying number input. */\n max?: NumberInputProps['max']\n /** Forwarded to the underlying number input. */\n placeholder?: NumberInputProps['placeholder']\n /** Override the rendered number input component. */\n FieldComponent?: ComponentType<NumberInputProps>\n}\n\n/**\n * Single per-account entry surfaced on `form.Fields.splits`. Each entry\n * carries identifying metadata for the underlying bank account plus the bound\n * Field component for its split amount.\n *\n * @public\n */\nexport interface SplitFieldEntry {\n /** Bank account uuid that this split targets. */\n uuid: string\n /** Display name of the bank account, when available. */\n name: string | null\n /** Last-four masking string for the bank account number, when available. */\n hiddenAccountNumber: string | null\n /** Bound Field component for this split's amount input. */\n Field: ComponentType<SplitFieldProps>\n}\n\ninterface BuildSplitFieldsInput {\n uuid: string\n name: string | null\n hiddenAccountNumber: string | null\n}\n\nfunction createBoundSplitField(uuid: string): ComponentType<SplitFieldProps> {\n function BoundSplitField({\n label,\n description,\n formHookResult,\n validationMessages,\n min,\n max,\n placeholder,\n FieldComponent,\n }: SplitFieldProps) {\n const externalControl = formHookResult?.form.hookFormInternals.formMethods.control as\n | Control<SplitPaymentsFormData>\n | undefined\n const splitBy = useWatch({ control: externalControl, name: 'splitBy' })\n const format: NumberInputProps['format'] = splitBy === SPLIT_BY.amount ? 'currency' : 'percent'\n\n return (\n <NumberInputHookField<SplitFieldValidation>\n name={`splitAmount.${uuid}`}\n formHookResult={formHookResult}\n label={label}\n description={description}\n validationMessages={validationMessages}\n format={format}\n min={min}\n max={max}\n placeholder={placeholder}\n FieldComponent={FieldComponent}\n />\n )\n }\n BoundSplitField.displayName = `SplitField(${uuid})`\n return BoundSplitField\n}\n\n/**\n * Build the per-split bound Field components. The caller is responsible for\n * memoizing on the stable set of split uuids so Field identity stays stable\n * across mode toggles and reorders — those changes are observed inside each\n * Field rather than baked into the closure.\n *\n * @internal\n */\nexport function buildSplitFieldEntries(splits: BuildSplitFieldsInput[]): SplitFieldEntry[] {\n return splits.map(split => ({\n uuid: split.uuid,\n name: split.name,\n hiddenAccountNumber: split.hiddenAccountNumber,\n Field: createBoundSplitField(split.uuid),\n }))\n}\n"],"names":["createBoundSplitField","uuid","BoundSplitField","label","description","formHookResult","validationMessages","min","max","placeholder","FieldComponent","externalControl","format","useWatch","SPLIT_BY","jsx","NumberInputHookField","buildSplitFieldEntries","splits","split"],"mappings":";;;;AA6EA,SAASA,EAAsBC,GAA8C;AAC3E,WAASC,EAAgB;AAAA,IACvB,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,KAAAC;AAAA,IACA,KAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,GACkB;AAClB,UAAMC,IAAkBN,GAAgB,KAAK,kBAAkB,YAAY,SAIrEO,IADUC,EAAS,EAAE,SAASF,GAAiB,MAAM,WAAW,MACfG,EAAS,SAAS,aAAa;AAEtF,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAM,eAAef,CAAI;AAAA,QACzB,gBAAAI;AAAA,QACA,OAAAF;AAAA,QACA,aAAAC;AAAA,QACA,oBAAAE;AAAA,QACA,QAAAM;AAAA,QACA,KAAAL;AAAA,QACA,KAAAC;AAAA,QACA,aAAAC;AAAA,QACA,gBAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACA,SAAAR,EAAgB,cAAc,cAAcD,CAAI,KACzCC;AACT;AAUO,SAASe,EAAuBC,GAAoD;AACzF,SAAOA,EAAO,IAAI,CAAAC,OAAU;AAAA,IAC1B,MAAMA,EAAM;AAAA,IACZ,MAAMA,EAAM;AAAA,IACZ,qBAAqBA,EAAM;AAAA,IAC3B,OAAOnB,EAAsBmB,EAAM,IAAI;AAAA,EAAA,EACvC;AACJ;"}
@@ -6,49 +6,93 @@ import { SplitByValue, SplitPaymentsFormData, SplitPaymentsFormOptionalFieldsToR
6
6
  import { SplitByFieldProps } from './fields';
7
7
  import { SplitFieldEntry } from './splitFieldFactory';
8
8
  import { BaseFormHookReady, FieldsMetadata, HookLoadingResult, HookSubmitResult } from '../../../../../partner-hook-utils/types';
9
+ /**
10
+ * A single split entry — pairs a bank account identifier with its current split allocation.
11
+ *
12
+ * @remarks
13
+ * Surfaced on `data.splits` from {@link useSplitPaymentsForm}. Derived from
14
+ * `paymentMethod.splits` when present, otherwise from the employee's bank
15
+ * accounts (one entry per account, no allocated amount). Carries the raw
16
+ * domain data — use it for label construction or lookups by uuid.
17
+ *
18
+ * @public
19
+ */
9
20
  export interface WorkingSplit {
21
+ /** UUID of the underlying bank account. */
10
22
  uuid: string;
23
+ /** Account nickname, when available. */
11
24
  name: string | null;
25
+ /** Masked account number suffix, when available. */
12
26
  hiddenAccountNumber: string | null;
27
+ /** Allocation amount — `null` for the remainder split in Amount mode and for splits that haven't been allocated yet. */
13
28
  splitAmount: number | null;
29
+ /** Ordering value — splits are processed in ascending priority; the highest priority is the remainder. */
14
30
  priority: number;
15
31
  }
32
+ /**
33
+ * Props for {@link useSplitPaymentsForm}.
34
+ *
35
+ * @public
36
+ */
16
37
  export interface UseSplitPaymentsFormProps {
38
+ /** Employee whose payment splits are being edited. */
17
39
  employeeId: string;
40
+ /** Override optional fields to be required. Currently a no-op — `splitBy` and `priority` are always required, and per-split `splitAmount` required-ness is automatic. */
18
41
  optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire;
42
+ /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */
19
43
  validationMode?: UseFormProps['mode'];
44
+ /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler`. Defaults to `true`. */
20
45
  shouldFocusError?: boolean;
21
46
  }
47
+ /**
48
+ * Field components exposed by {@link useSplitPaymentsForm} on `form.Fields`.
49
+ *
50
+ * @public
51
+ */
22
52
  export interface SplitPaymentsFormFields {
53
+ /** Bound to `splitBy` — see {@link SplitByField}. */
23
54
  SplitBy: ComponentType<SplitByFieldProps>;
55
+ /** One entry per bank account, each carrying a pre-bound `Field` component for the per-split amount. */
24
56
  splits: SplitFieldEntry[];
25
57
  }
58
+ /**
59
+ * Ready-state return value of {@link useSplitPaymentsForm}.
60
+ *
61
+ * @public
62
+ */
26
63
  export interface UseSplitPaymentsFormReady extends BaseFormHookReady<FieldsMetadata, SplitPaymentsFormData, SplitPaymentsFormFields> {
64
+ /** Server-fetched data and derived working values. */
27
65
  data: {
66
+ /** The employee's current payment method. */
28
67
  paymentMethod: EmployeePaymentMethod;
68
+ /** All bank accounts available to allocate splits across. */
29
69
  bankAccounts: EmployeeBankAccount[];
70
+ /** The current working split entries, one per bank account. */
30
71
  splits: WorkingSplit[];
31
72
  /** UUID of the split that absorbs the remainder in Amount mode (always the last by priority). */
32
73
  remainderId: string;
33
74
  };
75
+ /** Submission state and reactive form-level flags. */
34
76
  status: {
77
+ /** `true` while the update mutation is in flight. */
35
78
  isPending: boolean;
79
+ /** Always `'update'` — the hook always edits an existing payment method. */
36
80
  mode: 'update';
37
81
  /** Current `splitBy` value, reactively tracked. */
38
82
  splitBy: SplitByValue;
39
83
  /** Live sum of `splitAmount` values; useful for displaying the current total in Percentage mode. */
40
84
  percentageTotal: number;
41
85
  /**
42
- * Mirrors the schema-emitted `PERCENTAGE_TOTAL_MISMATCH` error at the
43
- * synthetic form path. Tracks `formState.errors` directly and follows
44
- * the standard react-hook-form validation lifecycle: with the default
45
- * `validationMode: 'onSubmit'`, becomes `true` after the first failed
46
- * Save attempt and clears live as the user corrects the total. Only
47
- * surfaces in Percentage mode.
86
+ * `true` after a failed Percentage-mode Save when the splits don't sum to
87
+ * 100; clears live as the user corrects the total. Follows the standard
88
+ * react-hook-form validation lifecycle (controlled by `validationMode`).
89
+ * Only surfaces in Percentage mode.
48
90
  */
49
91
  hasPercentageImbalance: boolean;
50
92
  };
93
+ /** Actions that mutate the form or submit it. */
51
94
  actions: {
95
+ /** Submit the form. Returns the updated payment method on success or `undefined` on validation/mutation failure. */
52
96
  onSubmit: () => Promise<HookSubmitResult<EmployeePaymentMethod> | undefined>;
53
97
  /**
54
98
  * Reorder splits by uuid (Amount mode). Pass the ordered list of split
@@ -59,7 +103,80 @@ export interface UseSplitPaymentsFormReady extends BaseFormHookReady<FieldsMetad
59
103
  reorderSplits: (orderedUuids: string[]) => void;
60
104
  };
61
105
  }
106
+ /**
107
+ * Headless React Hook Form hook for splitting an employee's Direct Deposit across multiple bank accounts.
108
+ *
109
+ * @remarks
110
+ * Supports two split modes: Percentage (whole-number shares that sum to 100)
111
+ * and Amount (dollar amounts, with the last-priority split absorbing the
112
+ * remainder). Always operates in update mode against the employee's existing
113
+ * payment method.
114
+ *
115
+ * The Percentage sum-to-100 invariant is surfaced via
116
+ * `status.hasPercentageImbalance` (not as a per-field error). With the default
117
+ * `validationMode: 'onSubmit'`, the imbalance flag appears after the first
118
+ * failed Save and clears live as the user corrects the total.
119
+ *
120
+ * @param props - See {@link UseSplitPaymentsFormProps}.
121
+ * @returns A loading-state result while the payment method and bank accounts are loading, or a {@link UseSplitPaymentsFormReady} once ready.
122
+ * @public
123
+ *
124
+ * @example
125
+ * ```tsx
126
+ * import {
127
+ * useSplitPaymentsForm,
128
+ * SDKFormProvider,
129
+ * type SplitByValue,
130
+ * type UseSplitPaymentsFormReady,
131
+ * } from '@gusto/embedded-react-sdk'
132
+ *
133
+ * function SplitPaycheckScreen({ employeeId }: { employeeId: string }) {
134
+ * const splitForm = useSplitPaymentsForm({ employeeId })
135
+ *
136
+ * if (splitForm.isLoading) return null
137
+ * return <SplitPaycheckReady splitForm={splitForm} />
138
+ * }
139
+ *
140
+ * function SplitPaycheckReady({ splitForm }: { splitForm: UseSplitPaymentsFormReady }) {
141
+ * const { Fields } = splitForm.form
142
+ * const { hasPercentageImbalance, percentageTotal } = splitForm.status
143
+ *
144
+ * return (
145
+ * <SDKFormProvider formHookResult={splitForm}>
146
+ * <form
147
+ * onSubmit={e => {
148
+ * e.preventDefault()
149
+ * void splitForm.actions.onSubmit()
150
+ * }}
151
+ * >
152
+ * {hasPercentageImbalance && (
153
+ * <div role="alert">Splits must total 100%. Currently {percentageTotal}%.</div>
154
+ * )}
155
+ * <Fields.SplitBy label="Split by" getOptionLabel={(value: SplitByValue) => value} />
156
+ * {Fields.splits.map(split => (
157
+ * <split.Field
158
+ * key={split.uuid}
159
+ * label={split.name ?? 'Account'}
160
+ * min={0}
161
+ * />
162
+ * ))}
163
+ * <button type="submit" disabled={splitForm.status.isPending}>Save</button>
164
+ * </form>
165
+ * </SDKFormProvider>
166
+ * )
167
+ * }
168
+ * ```
169
+ */
62
170
  export declare function useSplitPaymentsForm({ employeeId, optionalFieldsToRequire, validationMode, shouldFocusError, }: UseSplitPaymentsFormProps): HookLoadingResult | UseSplitPaymentsFormReady;
171
+ /**
172
+ * Return type of {@link useSplitPaymentsForm} — a discriminated union on `isLoading`.
173
+ *
174
+ * @public
175
+ */
63
176
  export type UseSplitPaymentsFormResult = HookLoadingResult | UseSplitPaymentsFormReady;
177
+ /**
178
+ * Per-field metadata exposed on `form.fieldsMetadata` for {@link useSplitPaymentsForm}.
179
+ *
180
+ * @public
181
+ */
64
182
  export type SplitPaymentsFormFieldsMetadata = UseSplitPaymentsFormReady['form']['fieldsMetadata'];
65
- export type SplitPaymentsFormFieldsType = UseSplitPaymentsFormReady['form']['Fields'];
@@ -1 +1 @@
1
- {"version":3,"file":"useSplitPaymentsForm.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useForm, useFormState, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeBankAccount } from '@gusto/embedded-api-v-2025-11-15/models/components/employeebankaccount'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api-v-2025-11-15/models/components/employeepaymentmethod'\nimport { useEmployeePaymentMethodGet } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodGet'\nimport { useEmployeePaymentMethodsGetBankAccounts } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodsGetBankAccounts'\nimport { useEmployeePaymentMethodUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodUpdate'\nimport {\n PERCENTAGE_TOTAL_PATH,\n SPLIT_BY_VALUES,\n SplitPaymentsFormErrorCodes,\n type SplitByValue,\n type SplitPaymentsFormData,\n type SplitPaymentsFormOptionalFieldsToRequire,\n type SplitPaymentsFormOutputs,\n createSplitPaymentsFormSchema,\n} from './useSplitPaymentsFormSchema'\nimport { SplitByField, type SplitByFieldProps } from './fields'\nimport { buildSplitFieldEntries, type SplitFieldEntry } from './splitFieldFactory'\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'\nimport { centsToDollars, dollarsToCents } from '@/helpers/currencyHelpers'\nimport { PAYMENT_METHODS, SPLIT_BY } from '@/shared/constants'\n\nexport interface WorkingSplit {\n uuid: string\n name: string | null\n hiddenAccountNumber: string | null\n splitAmount: number | null\n priority: number\n}\n\nexport interface UseSplitPaymentsFormProps {\n employeeId: string\n optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface SplitPaymentsFormFields {\n SplitBy: ComponentType<SplitByFieldProps>\n splits: SplitFieldEntry[]\n}\n\nexport interface UseSplitPaymentsFormReady extends BaseFormHookReady<\n FieldsMetadata,\n SplitPaymentsFormData,\n SplitPaymentsFormFields\n> {\n data: {\n paymentMethod: EmployeePaymentMethod\n bankAccounts: EmployeeBankAccount[]\n splits: WorkingSplit[]\n /** UUID of the split that absorbs the remainder in Amount mode (always the last by priority). */\n remainderId: string\n }\n status: {\n isPending: boolean\n mode: 'update'\n /** Current `splitBy` value, reactively tracked. */\n splitBy: SplitByValue\n /** Live sum of `splitAmount` values; useful for displaying the current total in Percentage mode. */\n percentageTotal: number\n /**\n * Mirrors the schema-emitted `PERCENTAGE_TOTAL_MISMATCH` error at the\n * synthetic form path. Tracks `formState.errors` directly and follows\n * the standard react-hook-form validation lifecycle: with the default\n * `validationMode: 'onSubmit'`, becomes `true` after the first failed\n * Save attempt and clears live as the user corrects the total. Only\n * surfaces in Percentage mode.\n */\n hasPercentageImbalance: boolean\n }\n actions: {\n onSubmit: () => Promise<HookSubmitResult<EmployeePaymentMethod> | undefined>\n /**\n * Reorder splits by uuid (Amount mode). Pass the ordered list of split\n * uuids; the last uuid becomes the remainder. The hook writes the new\n * priority map and re-anchors the remainder's `splitAmount` to `null`\n * (clearing the previous remainder to `0`).\n */\n reorderSplits: (orderedUuids: string[]) => void\n }\n}\n\nconst buildWorkingSplits = (\n paymentMethod: EmployeePaymentMethod,\n bankAccounts: EmployeeBankAccount[],\n): WorkingSplit[] => {\n if (paymentMethod.splits && paymentMethod.splits.length > 0) {\n return paymentMethod.splits.map(split => ({\n uuid: split.uuid,\n name: split.name ?? null,\n hiddenAccountNumber: split.hiddenAccountNumber ?? null,\n splitAmount: split.splitAmount ?? null,\n priority: split.priority ?? 0,\n }))\n }\n return bankAccounts.map((account, index) => ({\n uuid: account.uuid,\n name: account.name ?? null,\n hiddenAccountNumber: account.hiddenAccountNumber ?? null,\n splitAmount: null,\n priority: index + 1,\n }))\n}\n\nexport function useSplitPaymentsForm({\n employeeId,\n optionalFieldsToRequire,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseSplitPaymentsFormProps): HookLoadingResult | UseSplitPaymentsFormReady {\n const paymentMethodQuery = useEmployeePaymentMethodGet({ employeeId })\n const bankAccountsQuery = useEmployeePaymentMethodsGetBankAccounts({ employeeId })\n\n const paymentMethod = paymentMethodQuery.data?.employeePaymentMethod\n const bankAccounts = bankAccountsQuery.data?.employeeBankAccounts\n\n const splits = useMemo<WorkingSplit[]>(\n () => (paymentMethod && bankAccounts ? buildWorkingSplits(paymentMethod, bankAccounts) : []),\n [paymentMethod, bankAccounts],\n )\n\n const [schema, metadataConfig] = useMemo(\n () => createSplitPaymentsFormSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: SplitPaymentsFormData = useMemo(() => {\n const isAmountSplit = paymentMethod?.splitBy === SPLIT_BY.amount\n const splitAmount: Record<string, number | null> = {}\n const priority: Record<string, number> = {}\n splits.forEach(split => {\n splitAmount[split.uuid] = isAmountSplit\n ? centsToDollars(split.splitAmount)\n : split.splitAmount\n priority[split.uuid] = split.priority\n })\n return {\n splitBy: (paymentMethod?.splitBy ?? SPLIT_BY.percentage) as SplitByValue,\n splitAmount,\n priority,\n }\n }, [paymentMethod, splits])\n\n const formMethods = useForm<SplitPaymentsFormData, unknown, SplitPaymentsFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const updateMutation = useEmployeePaymentMethodUpdateMutation()\n const isPending = updateMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('SplitPaymentsForm')\n\n const errorHandling = composeErrorHandler([paymentMethodQuery, bankAccountsQuery], {\n submitError,\n setSubmitError,\n })\n\n const watchedSplitBy = useWatch({ control: formMethods.control, name: 'splitBy' })\n const watchedPriority = useWatch({ control: formMethods.control, name: 'priority' })\n const watchedSplitAmount = useWatch({ control: formMethods.control, name: 'splitAmount' })\n\n const percentageTotal = useMemo(() => {\n if (watchedSplitBy !== SPLIT_BY.percentage) return 0\n return Object.values(watchedSplitAmount).reduce<number>(\n (acc, v) => acc + (typeof v === 'number' && Number.isFinite(v) ? v : 0),\n 0,\n )\n }, [watchedSplitBy, watchedSplitAmount])\n\n // Subscribe to the schema-emitted imbalance error. The schema places it at\n // a synthetic path (`PERCENTAGE_TOTAL_PATH`) so it does not collide with\n // per-uuid `splitAmount.<uuid>` errors. Following the standard validation\n // lifecycle means `validationMode` (onSubmit / onChange / onBlur / ...)\n // controls when the alert can appear. We subscribe to the full errors map\n // because `name` only tracks registered field paths and our synthetic key\n // is not a registered field. The derivation is also gated on Percentage\n // mode so a stale error from a prior Percentage submit can't leak into\n // Amount mode after a toggle.\n const { errors: validationErrors, isSubmitted } = useFormState({\n control: formMethods.control,\n })\n const hasPercentageImbalance =\n watchedSplitBy === SPLIT_BY.percentage &&\n (validationErrors as Record<string, { message?: string } | undefined>)[PERCENTAGE_TOTAL_PATH]\n ?.message === SplitPaymentsFormErrorCodes.PERCENTAGE_TOTAL_MISMATCH\n\n // Re-sync the synthetic PERCENTAGE_TOTAL_PATH error whenever any\n // `splitAmount` value changes (in Percentage mode, after the first\n // submit attempt). RHF's per-field reValidate after a failed submit\n // scopes the resolver merge to the changed field's name, so an error\n // at our form-level synthetic path is otherwise left stuck once the\n // user has typed the total back to 100. Targeting the synthetic name\n // re-runs the resolver and lets RHF set/unset that single path through\n // its normal merge — preserving per-field error lifecycles unchanged.\n const { trigger } = formMethods\n useEffect(() => {\n if (!isSubmitted) return\n if (watchedSplitBy !== SPLIT_BY.percentage) return\n // `trigger`'s type is keyed to registered field paths, but the\n // synthetic `percentageTotal` resolves through RHF's get/set/unset\n // helpers at runtime — cast at the boundary to keep the contract\n // honest above.\n void trigger(PERCENTAGE_TOTAL_PATH as Parameters<typeof trigger>[0])\n }, [isSubmitted, watchedSplitBy, watchedSplitAmount, trigger])\n\n const remainderId = useMemo(() => {\n if (!Object.keys(watchedPriority).length) return ''\n return Object.entries(watchedPriority).reduce((maxId, [uuid, priority]) => {\n if (!maxId) return uuid\n const currentMax = watchedPriority[maxId] ?? 0\n return priority > currentMax ? uuid : maxId\n }, '')\n }, [watchedPriority])\n\n // Reset splitAmount values when the user toggles splitBy. Skip the first\n // post-load run so values loaded from `paymentMethod.splits` are preserved\n // on mount — only the user's explicit toggle should clear them.\n const splitsRef = useRef(splits)\n splitsRef.current = splits\n const remainderIdRef = useRef(remainderId)\n remainderIdRef.current = remainderId\n const previousSplitByRef = useRef<SplitByValue | null>(null)\n const { setValue, resetField } = formMethods\n\n useEffect(() => {\n if (!splitsRef.current.length) return\n if (previousSplitByRef.current === null) {\n previousSplitByRef.current = watchedSplitBy as SplitByValue\n return\n }\n if (previousSplitByRef.current === watchedSplitBy) return\n previousSplitByRef.current = watchedSplitBy as SplitByValue\n\n if (watchedSplitBy === SPLIT_BY.amount) {\n const newValues = splitsRef.current.reduce<Record<string, number | null>>((acc, curr) => {\n acc[curr.uuid] = curr.uuid === remainderIdRef.current ? null : 0\n return acc\n }, {})\n setValue('splitAmount', newValues)\n } else {\n const newValues = splitsRef.current.reduce<Record<string, number | null>>(\n (acc, curr, index) => {\n acc[curr.uuid] = index === 0 ? 100 : 0\n return acc\n },\n {},\n )\n setValue('splitAmount', newValues)\n }\n }, [watchedSplitBy, setValue])\n\n const reorderSplits = useCallback(\n (orderedUuids: string[]) => {\n const currentSplits = splitsRef.current\n const knownUuids = new Set(currentSplits.map(s => s.uuid))\n if (\n orderedUuids.length !== knownUuids.size ||\n !orderedUuids.every(uuid => knownUuids.has(uuid))\n ) {\n return\n }\n\n const newPriorities = orderedUuids.reduce<Record<string, number>>((acc, uuid, index) => {\n acc[uuid] = index + 1\n return acc\n }, {})\n const newRemainderId = orderedUuids[orderedUuids.length - 1]\n if (!newRemainderId) return\n\n setValue('priority', newPriorities)\n const previousRemainder = remainderIdRef.current\n if (previousRemainder && previousRemainder !== newRemainderId) {\n resetField(`splitAmount.${previousRemainder}`)\n setValue(`splitAmount.${previousRemainder}`, 0)\n }\n setValue(`splitAmount.${newRemainderId}`, null)\n },\n [setValue, resetField],\n )\n\n const splitByOptions = SPLIT_BY_VALUES.map(value => ({ value, label: value }))\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const dynamicSplitMetadata = useMemo<FieldsMetadata>(() => {\n const entries: FieldsMetadata = {}\n const isAmountSplit = watchedSplitBy === SPLIT_BY.amount\n for (const split of splits) {\n const path = `splitAmount.${split.uuid}`\n const isRemainder = isAmountSplit && split.uuid === remainderId\n // Every split — including the remainder — is \"required\" from the\n // user's perspective: the remainder always carries a value at submit\n // (the API absorbs leftover). The form-state `null` is a modeling\n // detail, not a UX choice, so we don't surface it as \"(optional)\" on\n // the label. `isDisabled` already conveys the non-interactivity.\n entries[path] = {\n name: path,\n isRequired: true,\n isDisabled: isRemainder,\n }\n }\n return entries\n }, [splits, watchedSplitBy, remainderId])\n const fieldsMetadata: FieldsMetadata = {\n splitBy: withOptions<SplitByValue>(baseMetadata.splitBy, splitByOptions, [...SPLIT_BY_VALUES]),\n splitAmount: baseMetadata.splitAmount,\n priority: baseMetadata.priority,\n ...dynamicSplitMetadata,\n }\n\n const splitFieldEntries = useMemo(\n () =>\n buildSplitFieldEntries(\n splits.map(s => ({\n uuid: s.uuid,\n name: s.name,\n hiddenAccountNumber: s.hiddenAccountNumber,\n })),\n ),\n [splits],\n )\n\n const onSubmit = async (): Promise<HookSubmitResult<EmployeePaymentMethod> | undefined> => {\n if (!paymentMethod) {\n throw new SDKInternalError('Cannot submit split payments form before data is loaded')\n }\n const currentPaymentMethod = paymentMethod\n const currentSplits = splits\n let submitResult: HookSubmitResult<EmployeePaymentMethod> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: SplitPaymentsFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const isAmountSplit = payload.splitBy === SPLIT_BY.amount\n const body = {\n ...currentPaymentMethod,\n version: currentPaymentMethod.version as string,\n splitBy: payload.splitBy,\n splits: currentSplits.map(split => {\n const splitAmountValue = payload.splitAmount[split.uuid] ?? null\n return {\n uuid: split.uuid,\n name: split.name ?? undefined,\n hiddenAccountNumber: split.hiddenAccountNumber ?? undefined,\n splitAmount: isAmountSplit ? dollarsToCents(splitAmountValue) : splitAmountValue,\n priority: payload.priority[split.uuid],\n }\n }),\n }\n\n const response = await updateMutation.mutateAsync({\n request: {\n employeeId,\n requestBody: { ...body, type: PAYMENT_METHODS.directDeposit },\n },\n })\n\n if (!response.employeePaymentMethod) {\n throw new SDKInternalError('Payment method update failed')\n }\n\n submitResult = { mode: 'update' as const, data: response.employeePaymentMethod }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (\n paymentMethodQuery.isLoading ||\n bankAccountsQuery.isLoading ||\n !paymentMethod ||\n !bankAccounts\n ) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n paymentMethod,\n bankAccounts,\n splits,\n remainderId,\n },\n status: {\n isPending,\n mode: 'update' as const,\n splitBy: watchedSplitBy as SplitByValue,\n percentageTotal,\n hasPercentageImbalance,\n },\n actions: { onSubmit, reorderSplits },\n errorHandling,\n form: {\n Fields: { SplitBy: SplitByField, splits: splitFieldEntries },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UseSplitPaymentsFormResult = HookLoadingResult | UseSplitPaymentsFormReady\nexport type SplitPaymentsFormFieldsMetadata = UseSplitPaymentsFormReady['form']['fieldsMetadata']\nexport type SplitPaymentsFormFieldsType = UseSplitPaymentsFormReady['form']['Fields']\n"],"names":["buildWorkingSplits","paymentMethod","bankAccounts","split","account","index","useSplitPaymentsForm","employeeId","optionalFieldsToRequire","validationMode","shouldFocusError","paymentMethodQuery","useEmployeePaymentMethodGet","bankAccountsQuery","useEmployeePaymentMethodsGetBankAccounts","splits","useMemo","schema","metadataConfig","createSplitPaymentsFormSchema","resolvedDefaults","isAmountSplit","SPLIT_BY","splitAmount","priority","centsToDollars","formMethods","useForm","zodResolver","updateMutation","useEmployeePaymentMethodUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","watchedSplitBy","useWatch","watchedPriority","watchedSplitAmount","percentageTotal","acc","v","validationErrors","isSubmitted","useFormState","hasPercentageImbalance","PERCENTAGE_TOTAL_PATH","SplitPaymentsFormErrorCodes","trigger","useEffect","remainderId","maxId","uuid","currentMax","splitsRef","useRef","remainderIdRef","previousSplitByRef","setValue","resetField","newValues","curr","reorderSplits","useCallback","orderedUuids","currentSplits","knownUuids","s","newPriorities","newRemainderId","previousRemainder","splitByOptions","SPLIT_BY_VALUES","value","baseMetadata","useDeriveFieldsMetadata","dynamicSplitMetadata","entries","path","isRemainder","fieldsMetadata","withOptions","splitFieldEntries","buildSplitFieldEntries","onSubmit","SDKInternalError","currentPaymentMethod","submitResult","resolve","data","payload","body","splitAmountValue","dollarsToCents","response","PAYMENT_METHODS","hookFormInternals","useHookFormInternals","SplitByField","createGetFormSubmissionValues"],"mappings":"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"}
1
+ {"version":3,"file":"useSplitPaymentsForm.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useForm, useFormState, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeBankAccount } from '@gusto/embedded-api-v-2025-11-15/models/components/employeebankaccount'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api-v-2025-11-15/models/components/employeepaymentmethod'\nimport { useEmployeePaymentMethodGet } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodGet'\nimport { useEmployeePaymentMethodsGetBankAccounts } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodsGetBankAccounts'\nimport { useEmployeePaymentMethodUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodUpdate'\nimport {\n PERCENTAGE_TOTAL_PATH,\n SPLIT_BY_VALUES,\n SplitPaymentsFormErrorCodes,\n type SplitByValue,\n type SplitPaymentsFormData,\n type SplitPaymentsFormOptionalFieldsToRequire,\n type SplitPaymentsFormOutputs,\n createSplitPaymentsFormSchema,\n} from './useSplitPaymentsFormSchema'\nimport { SplitByField, type SplitByFieldProps } from './fields'\nimport { buildSplitFieldEntries, type SplitFieldEntry } from './splitFieldFactory'\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'\nimport { centsToDollars, dollarsToCents } from '@/helpers/currencyHelpers'\nimport { PAYMENT_METHODS, SPLIT_BY } from '@/shared/constants'\n\n/**\n * A single split entry — pairs a bank account identifier with its current split allocation.\n *\n * @remarks\n * Surfaced on `data.splits` from {@link useSplitPaymentsForm}. Derived from\n * `paymentMethod.splits` when present, otherwise from the employee's bank\n * accounts (one entry per account, no allocated amount). Carries the raw\n * domain data — use it for label construction or lookups by uuid.\n *\n * @public\n */\nexport interface WorkingSplit {\n /** UUID of the underlying bank account. */\n uuid: string\n /** Account nickname, when available. */\n name: string | null\n /** Masked account number suffix, when available. */\n hiddenAccountNumber: string | null\n /** Allocation amount — `null` for the remainder split in Amount mode and for splits that haven't been allocated yet. */\n splitAmount: number | null\n /** Ordering value — splits are processed in ascending priority; the highest priority is the remainder. */\n priority: number\n}\n\n/**\n * Props for {@link useSplitPaymentsForm}.\n *\n * @public\n */\nexport interface UseSplitPaymentsFormProps {\n /** Employee whose payment splits are being edited. */\n employeeId: string\n /** Override optional fields to be required. Currently a no-op — `splitBy` and `priority` are always required, and per-split `splitAmount` required-ness is automatic. */\n optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire\n /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler`. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Field components exposed by {@link useSplitPaymentsForm} on `form.Fields`.\n *\n * @public\n */\nexport interface SplitPaymentsFormFields {\n /** Bound to `splitBy` — see {@link SplitByField}. */\n SplitBy: ComponentType<SplitByFieldProps>\n /** One entry per bank account, each carrying a pre-bound `Field` component for the per-split amount. */\n splits: SplitFieldEntry[]\n}\n\n/**\n * Ready-state return value of {@link useSplitPaymentsForm}.\n *\n * @public\n */\nexport interface UseSplitPaymentsFormReady extends BaseFormHookReady<\n FieldsMetadata,\n SplitPaymentsFormData,\n SplitPaymentsFormFields\n> {\n /** Server-fetched data and derived working values. */\n data: {\n /** The employee's current payment method. */\n paymentMethod: EmployeePaymentMethod\n /** All bank accounts available to allocate splits across. */\n bankAccounts: EmployeeBankAccount[]\n /** The current working split entries, one per bank account. */\n splits: WorkingSplit[]\n /** UUID of the split that absorbs the remainder in Amount mode (always the last by priority). */\n remainderId: string\n }\n /** Submission state and reactive form-level flags. */\n status: {\n /** `true` while the update mutation is in flight. */\n isPending: boolean\n /** Always `'update'` — the hook always edits an existing payment method. */\n mode: 'update'\n /** Current `splitBy` value, reactively tracked. */\n splitBy: SplitByValue\n /** Live sum of `splitAmount` values; useful for displaying the current total in Percentage mode. */\n percentageTotal: number\n /**\n * `true` after a failed Percentage-mode Save when the splits don't sum to\n * 100; clears live as the user corrects the total. Follows the standard\n * react-hook-form validation lifecycle (controlled by `validationMode`).\n * Only surfaces in Percentage mode.\n */\n hasPercentageImbalance: boolean\n }\n /** Actions that mutate the form or submit it. */\n actions: {\n /** Submit the form. Returns the updated payment method on success or `undefined` on validation/mutation failure. */\n onSubmit: () => Promise<HookSubmitResult<EmployeePaymentMethod> | undefined>\n /**\n * Reorder splits by uuid (Amount mode). Pass the ordered list of split\n * uuids; the last uuid becomes the remainder. The hook writes the new\n * priority map and re-anchors the remainder's `splitAmount` to `null`\n * (clearing the previous remainder to `0`).\n */\n reorderSplits: (orderedUuids: string[]) => void\n }\n}\n\nconst buildWorkingSplits = (\n paymentMethod: EmployeePaymentMethod,\n bankAccounts: EmployeeBankAccount[],\n): WorkingSplit[] => {\n if (paymentMethod.splits && paymentMethod.splits.length > 0) {\n return paymentMethod.splits.map(split => ({\n uuid: split.uuid,\n name: split.name ?? null,\n hiddenAccountNumber: split.hiddenAccountNumber ?? null,\n splitAmount: split.splitAmount ?? null,\n priority: split.priority ?? 0,\n }))\n }\n return bankAccounts.map((account, index) => ({\n uuid: account.uuid,\n name: account.name ?? null,\n hiddenAccountNumber: account.hiddenAccountNumber ?? null,\n splitAmount: null,\n priority: index + 1,\n }))\n}\n\n/**\n * Headless React Hook Form hook for splitting an employee's Direct Deposit across multiple bank accounts.\n *\n * @remarks\n * Supports two split modes: Percentage (whole-number shares that sum to 100)\n * and Amount (dollar amounts, with the last-priority split absorbing the\n * remainder). Always operates in update mode against the employee's existing\n * payment method.\n *\n * The Percentage sum-to-100 invariant is surfaced via\n * `status.hasPercentageImbalance` (not as a per-field error). With the default\n * `validationMode: 'onSubmit'`, the imbalance flag appears after the first\n * failed Save and clears live as the user corrects the total.\n *\n * @param props - See {@link UseSplitPaymentsFormProps}.\n * @returns A loading-state result while the payment method and bank accounts are loading, or a {@link UseSplitPaymentsFormReady} once ready.\n * @public\n *\n * @example\n * ```tsx\n * import {\n * useSplitPaymentsForm,\n * SDKFormProvider,\n * type SplitByValue,\n * type UseSplitPaymentsFormReady,\n * } from '@gusto/embedded-react-sdk'\n *\n * function SplitPaycheckScreen({ employeeId }: { employeeId: string }) {\n * const splitForm = useSplitPaymentsForm({ employeeId })\n *\n * if (splitForm.isLoading) return null\n * return <SplitPaycheckReady splitForm={splitForm} />\n * }\n *\n * function SplitPaycheckReady({ splitForm }: { splitForm: UseSplitPaymentsFormReady }) {\n * const { Fields } = splitForm.form\n * const { hasPercentageImbalance, percentageTotal } = splitForm.status\n *\n * return (\n * <SDKFormProvider formHookResult={splitForm}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void splitForm.actions.onSubmit()\n * }}\n * >\n * {hasPercentageImbalance && (\n * <div role=\"alert\">Splits must total 100%. Currently {percentageTotal}%.</div>\n * )}\n * <Fields.SplitBy label=\"Split by\" getOptionLabel={(value: SplitByValue) => value} />\n * {Fields.splits.map(split => (\n * <split.Field\n * key={split.uuid}\n * label={split.name ?? 'Account'}\n * min={0}\n * />\n * ))}\n * <button type=\"submit\" disabled={splitForm.status.isPending}>Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useSplitPaymentsForm({\n employeeId,\n optionalFieldsToRequire,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseSplitPaymentsFormProps): HookLoadingResult | UseSplitPaymentsFormReady {\n const paymentMethodQuery = useEmployeePaymentMethodGet({ employeeId })\n const bankAccountsQuery = useEmployeePaymentMethodsGetBankAccounts({ employeeId })\n\n const paymentMethod = paymentMethodQuery.data?.employeePaymentMethod\n const bankAccounts = bankAccountsQuery.data?.employeeBankAccounts\n\n const splits = useMemo<WorkingSplit[]>(\n () => (paymentMethod && bankAccounts ? buildWorkingSplits(paymentMethod, bankAccounts) : []),\n [paymentMethod, bankAccounts],\n )\n\n const [schema, metadataConfig] = useMemo(\n () => createSplitPaymentsFormSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: SplitPaymentsFormData = useMemo(() => {\n const isAmountSplit = paymentMethod?.splitBy === SPLIT_BY.amount\n const splitAmount: Record<string, number | null> = {}\n const priority: Record<string, number> = {}\n splits.forEach(split => {\n splitAmount[split.uuid] = isAmountSplit\n ? centsToDollars(split.splitAmount)\n : split.splitAmount\n priority[split.uuid] = split.priority\n })\n return {\n splitBy: (paymentMethod?.splitBy ?? SPLIT_BY.percentage) as SplitByValue,\n splitAmount,\n priority,\n }\n }, [paymentMethod, splits])\n\n const formMethods = useForm<SplitPaymentsFormData, unknown, SplitPaymentsFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const updateMutation = useEmployeePaymentMethodUpdateMutation()\n const isPending = updateMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('SplitPaymentsForm')\n\n const errorHandling = composeErrorHandler([paymentMethodQuery, bankAccountsQuery], {\n submitError,\n setSubmitError,\n })\n\n const watchedSplitBy = useWatch({ control: formMethods.control, name: 'splitBy' })\n const watchedPriority = useWatch({ control: formMethods.control, name: 'priority' })\n const watchedSplitAmount = useWatch({ control: formMethods.control, name: 'splitAmount' })\n\n const percentageTotal = useMemo(() => {\n if (watchedSplitBy !== SPLIT_BY.percentage) return 0\n return Object.values(watchedSplitAmount).reduce<number>(\n (acc, v) => acc + (typeof v === 'number' && Number.isFinite(v) ? v : 0),\n 0,\n )\n }, [watchedSplitBy, watchedSplitAmount])\n\n // Subscribe to the schema-emitted imbalance error. The schema places it at\n // a synthetic path (`PERCENTAGE_TOTAL_PATH`) so it does not collide with\n // per-uuid `splitAmount.<uuid>` errors. Following the standard validation\n // lifecycle means `validationMode` (onSubmit / onChange / onBlur / ...)\n // controls when the alert can appear. We subscribe to the full errors map\n // because `name` only tracks registered field paths and our synthetic key\n // is not a registered field. The derivation is also gated on Percentage\n // mode so a stale error from a prior Percentage submit can't leak into\n // Amount mode after a toggle.\n const { errors: validationErrors, isSubmitted } = useFormState({\n control: formMethods.control,\n })\n const hasPercentageImbalance =\n watchedSplitBy === SPLIT_BY.percentage &&\n (validationErrors as Record<string, { message?: string } | undefined>)[PERCENTAGE_TOTAL_PATH]\n ?.message === SplitPaymentsFormErrorCodes.PERCENTAGE_TOTAL_MISMATCH\n\n // Re-sync the synthetic PERCENTAGE_TOTAL_PATH error whenever any\n // `splitAmount` value changes (in Percentage mode, after the first\n // submit attempt). RHF's per-field reValidate after a failed submit\n // scopes the resolver merge to the changed field's name, so an error\n // at our form-level synthetic path is otherwise left stuck once the\n // user has typed the total back to 100. Targeting the synthetic name\n // re-runs the resolver and lets RHF set/unset that single path through\n // its normal merge — preserving per-field error lifecycles unchanged.\n const { trigger } = formMethods\n useEffect(() => {\n if (!isSubmitted) return\n if (watchedSplitBy !== SPLIT_BY.percentage) return\n // `trigger`'s type is keyed to registered field paths, but the\n // synthetic `percentageTotal` resolves through RHF's get/set/unset\n // helpers at runtime — cast at the boundary to keep the contract\n // honest above.\n void trigger(PERCENTAGE_TOTAL_PATH as Parameters<typeof trigger>[0])\n }, [isSubmitted, watchedSplitBy, watchedSplitAmount, trigger])\n\n const remainderId = useMemo(() => {\n if (!Object.keys(watchedPriority).length) return ''\n return Object.entries(watchedPriority).reduce((maxId, [uuid, priority]) => {\n if (!maxId) return uuid\n const currentMax = watchedPriority[maxId] ?? 0\n return priority > currentMax ? uuid : maxId\n }, '')\n }, [watchedPriority])\n\n // Reset splitAmount values when the user toggles splitBy. Skip the first\n // post-load run so values loaded from `paymentMethod.splits` are preserved\n // on mount — only the user's explicit toggle should clear them.\n const splitsRef = useRef(splits)\n splitsRef.current = splits\n const remainderIdRef = useRef(remainderId)\n remainderIdRef.current = remainderId\n const previousSplitByRef = useRef<SplitByValue | null>(null)\n const { setValue, resetField } = formMethods\n\n useEffect(() => {\n if (!splitsRef.current.length) return\n if (previousSplitByRef.current === null) {\n previousSplitByRef.current = watchedSplitBy as SplitByValue\n return\n }\n if (previousSplitByRef.current === watchedSplitBy) return\n previousSplitByRef.current = watchedSplitBy as SplitByValue\n\n if (watchedSplitBy === SPLIT_BY.amount) {\n const newValues = splitsRef.current.reduce<Record<string, number | null>>((acc, curr) => {\n acc[curr.uuid] = curr.uuid === remainderIdRef.current ? null : 0\n return acc\n }, {})\n setValue('splitAmount', newValues)\n } else {\n const newValues = splitsRef.current.reduce<Record<string, number | null>>(\n (acc, curr, index) => {\n acc[curr.uuid] = index === 0 ? 100 : 0\n return acc\n },\n {},\n )\n setValue('splitAmount', newValues)\n }\n }, [watchedSplitBy, setValue])\n\n const reorderSplits = useCallback(\n (orderedUuids: string[]) => {\n const currentSplits = splitsRef.current\n const knownUuids = new Set(currentSplits.map(s => s.uuid))\n if (\n orderedUuids.length !== knownUuids.size ||\n !orderedUuids.every(uuid => knownUuids.has(uuid))\n ) {\n return\n }\n\n const newPriorities = orderedUuids.reduce<Record<string, number>>((acc, uuid, index) => {\n acc[uuid] = index + 1\n return acc\n }, {})\n const newRemainderId = orderedUuids[orderedUuids.length - 1]\n if (!newRemainderId) return\n\n setValue('priority', newPriorities)\n const previousRemainder = remainderIdRef.current\n if (previousRemainder && previousRemainder !== newRemainderId) {\n resetField(`splitAmount.${previousRemainder}`)\n setValue(`splitAmount.${previousRemainder}`, 0)\n }\n setValue(`splitAmount.${newRemainderId}`, null)\n },\n [setValue, resetField],\n )\n\n const splitByOptions = SPLIT_BY_VALUES.map(value => ({ value, label: value }))\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const dynamicSplitMetadata = useMemo<FieldsMetadata>(() => {\n const entries: FieldsMetadata = {}\n const isAmountSplit = watchedSplitBy === SPLIT_BY.amount\n for (const split of splits) {\n const path = `splitAmount.${split.uuid}`\n const isRemainder = isAmountSplit && split.uuid === remainderId\n // Every split — including the remainder — is \"required\" from the\n // user's perspective: the remainder always carries a value at submit\n // (the API absorbs leftover). The form-state `null` is a modeling\n // detail, not a UX choice, so we don't surface it as \"(optional)\" on\n // the label. `isDisabled` already conveys the non-interactivity.\n entries[path] = {\n name: path,\n isRequired: true,\n isDisabled: isRemainder,\n }\n }\n return entries\n }, [splits, watchedSplitBy, remainderId])\n const fieldsMetadata: FieldsMetadata = {\n splitBy: withOptions<SplitByValue>(baseMetadata.splitBy, splitByOptions, [...SPLIT_BY_VALUES]),\n splitAmount: baseMetadata.splitAmount,\n priority: baseMetadata.priority,\n ...dynamicSplitMetadata,\n }\n\n const splitFieldEntries = useMemo(\n () =>\n buildSplitFieldEntries(\n splits.map(s => ({\n uuid: s.uuid,\n name: s.name,\n hiddenAccountNumber: s.hiddenAccountNumber,\n })),\n ),\n [splits],\n )\n\n const onSubmit = async (): Promise<HookSubmitResult<EmployeePaymentMethod> | undefined> => {\n if (!paymentMethod) {\n throw new SDKInternalError('Cannot submit split payments form before data is loaded')\n }\n const currentPaymentMethod = paymentMethod\n const currentSplits = splits\n let submitResult: HookSubmitResult<EmployeePaymentMethod> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: SplitPaymentsFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const isAmountSplit = payload.splitBy === SPLIT_BY.amount\n const body = {\n ...currentPaymentMethod,\n version: currentPaymentMethod.version as string,\n splitBy: payload.splitBy,\n splits: currentSplits.map(split => {\n const splitAmountValue = payload.splitAmount[split.uuid] ?? null\n return {\n uuid: split.uuid,\n name: split.name ?? undefined,\n hiddenAccountNumber: split.hiddenAccountNumber ?? undefined,\n splitAmount: isAmountSplit ? dollarsToCents(splitAmountValue) : splitAmountValue,\n priority: payload.priority[split.uuid],\n }\n }),\n }\n\n const response = await updateMutation.mutateAsync({\n request: {\n employeeId,\n requestBody: { ...body, type: PAYMENT_METHODS.directDeposit },\n },\n })\n\n if (!response.employeePaymentMethod) {\n throw new SDKInternalError('Payment method update failed')\n }\n\n submitResult = { mode: 'update' as const, data: response.employeePaymentMethod }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (\n paymentMethodQuery.isLoading ||\n bankAccountsQuery.isLoading ||\n !paymentMethod ||\n !bankAccounts\n ) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n paymentMethod,\n bankAccounts,\n splits,\n remainderId,\n },\n status: {\n isPending,\n mode: 'update' as const,\n splitBy: watchedSplitBy as SplitByValue,\n percentageTotal,\n hasPercentageImbalance,\n },\n actions: { onSubmit, reorderSplits },\n errorHandling,\n form: {\n Fields: { SplitBy: SplitByField, splits: splitFieldEntries },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Return type of {@link useSplitPaymentsForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseSplitPaymentsFormResult = HookLoadingResult | UseSplitPaymentsFormReady\n\n/**\n * Per-field metadata exposed on `form.fieldsMetadata` for {@link useSplitPaymentsForm}.\n *\n * @public\n */\nexport type SplitPaymentsFormFieldsMetadata = UseSplitPaymentsFormReady['form']['fieldsMetadata']\n"],"names":["buildWorkingSplits","paymentMethod","bankAccounts","split","account","index","useSplitPaymentsForm","employeeId","optionalFieldsToRequire","validationMode","shouldFocusError","paymentMethodQuery","useEmployeePaymentMethodGet","bankAccountsQuery","useEmployeePaymentMethodsGetBankAccounts","splits","useMemo","schema","metadataConfig","createSplitPaymentsFormSchema","resolvedDefaults","isAmountSplit","SPLIT_BY","splitAmount","priority","centsToDollars","formMethods","useForm","zodResolver","updateMutation","useEmployeePaymentMethodUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","watchedSplitBy","useWatch","watchedPriority","watchedSplitAmount","percentageTotal","acc","v","validationErrors","isSubmitted","useFormState","hasPercentageImbalance","PERCENTAGE_TOTAL_PATH","SplitPaymentsFormErrorCodes","trigger","useEffect","remainderId","maxId","uuid","currentMax","splitsRef","useRef","remainderIdRef","previousSplitByRef","setValue","resetField","newValues","curr","reorderSplits","useCallback","orderedUuids","currentSplits","knownUuids","s","newPriorities","newRemainderId","previousRemainder","splitByOptions","SPLIT_BY_VALUES","value","baseMetadata","useDeriveFieldsMetadata","dynamicSplitMetadata","entries","path","isRemainder","fieldsMetadata","withOptions","splitFieldEntries","buildSplitFieldEntries","onSubmit","SDKInternalError","currentPaymentMethod","submitResult","resolve","data","payload","body","splitAmountValue","dollarsToCents","response","PAYMENT_METHODS","hookFormInternals","useHookFormInternals","SplitByField","createGetFormSubmissionValues"],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import { z } from 'zod';
2
2
  import { OptionalFieldsToRequire } from '../../../../../partner-hook-utils/form/buildFormSchema';
3
+ /**
4
+ * Validation error codes emitted by the split payments form schema. Map these
5
+ * codes to localized copy in `validationMessages` when composing the hook.
6
+ *
7
+ * @public
8
+ */
3
9
  export declare const SplitPaymentsFormErrorCodes: {
4
10
  readonly REQUIRED: "REQUIRED";
5
11
  readonly INVALID_PERCENTAGE: "INVALID_PERCENTAGE";
@@ -11,10 +17,29 @@ export declare const SplitPaymentsFormErrorCodes: {
11
17
  * Synthetic form path where the schema emits the percentage-sum-to-100
12
18
  * invariant. The hook subscribes to errors at this path to drive
13
19
  * `status.hasPercentageImbalance`.
20
+ *
21
+ * @internal
14
22
  */
15
23
  export declare const PERCENTAGE_TOTAL_PATH: "percentageTotal";
24
+ /**
25
+ * Union of validation error code strings emitted by the split payments form
26
+ * schema.
27
+ *
28
+ * @public
29
+ */
16
30
  export type SplitPaymentsFormErrorCode = (typeof SplitPaymentsFormErrorCodes)[keyof typeof SplitPaymentsFormErrorCodes];
31
+ /**
32
+ * Supported split-by modes: split by percentage of net pay, or by fixed dollar
33
+ * amount per account.
34
+ *
35
+ * @public
36
+ */
17
37
  export declare const SPLIT_BY_VALUES: readonly ["Percentage", "Amount"];
38
+ /**
39
+ * Union of split-by mode values that the form accepts.
40
+ *
41
+ * @public
42
+ */
18
43
  export type SplitByValue = (typeof SPLIT_BY_VALUES)[number];
19
44
  declare const fieldValidators: {
20
45
  splitBy: z.ZodEnum<{
@@ -24,24 +49,45 @@ declare const fieldValidators: {
24
49
  splitAmount: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
25
50
  priority: z.ZodRecord<z.ZodString, z.ZodNumber>;
26
51
  };
52
+ /**
53
+ * Field names accepted by the split payments form.
54
+ *
55
+ * @public
56
+ */
27
57
  export type SplitPaymentsFormField = keyof typeof fieldValidators;
58
+ /**
59
+ * Shape of the values managed by the split payments form. `splitAmount` and
60
+ * `priority` are keyed by bank account uuid.
61
+ *
62
+ * @public
63
+ */
28
64
  export type SplitPaymentsFormData = {
65
+ /** Selected split mode — by percentage or by fixed amount. */
29
66
  splitBy: SplitByValue;
67
+ /** Per-account split values keyed by bank account uuid (percent or dollars depending on `splitBy`). */
30
68
  splitAmount: Record<string, number | null>;
69
+ /** Per-account priority values keyed by bank account uuid; the highest priority receives the remainder. */
31
70
  priority: Record<string, number>;
32
71
  };
72
+ /**
73
+ * Shape of the validated values produced by the split payments form on submit.
74
+ *
75
+ * @public
76
+ */
33
77
  export type SplitPaymentsFormOutputs = SplitPaymentsFormData;
34
78
  declare const requiredFieldsConfig: {};
79
+ /**
80
+ * Keys of optional split payments fields that can be promoted to required via
81
+ * the hook's `optionalFieldsToRequire` option.
82
+ *
83
+ * @public
84
+ */
35
85
  export type SplitPaymentsFormOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
86
+ /** @internal */
36
87
  interface SplitPaymentsFormSchemaOptions {
37
88
  optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire;
38
89
  }
39
- /**
40
- * Resolves the remainder uuid (highest priority value) from a priority map.
41
- * Exported so the hook can mirror the same selection rule when deriving
42
- * dynamic field metadata.
43
- */
44
- export declare function resolveRemainderUuid(priority: Record<string, number>): string;
90
+ /** @internal */
45
91
  export declare function createSplitPaymentsFormSchema(options?: SplitPaymentsFormSchemaOptions): import('../../../../../partner-hook-utils/form/buildFormSchema').BuildFormSchemaResult<{
46
92
  splitBy: z.ZodEnum<{
47
93
  Percentage: "Percentage";
@@ -87,7 +87,6 @@ export {
87
87
  m as PERCENTAGE_TOTAL_PATH,
88
88
  c as SPLIT_BY_VALUES,
89
89
  u as SplitPaymentsFormErrorCodes,
90
- C as createSplitPaymentsFormSchema,
91
- A as resolveRemainderUuid
90
+ C as createSplitPaymentsFormSchema
92
91
  };
93
92
  //# sourceMappingURL=useSplitPaymentsFormSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSplitPaymentsFormSchema.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type OptionalFieldsToRequire,\n type RequiredFieldConfig,\n} from '@/partner-hook-utils/form/buildFormSchema'\nimport { SPLIT_BY } from '@/shared/constants'\n\nexport const SplitPaymentsFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n INVALID_PERCENTAGE: 'INVALID_PERCENTAGE',\n INVALID_AMOUNT: 'INVALID_AMOUNT',\n DUPLICATE_PRIORITIES: 'DUPLICATE_PRIORITIES',\n PERCENTAGE_TOTAL_MISMATCH: 'PERCENTAGE_TOTAL_MISMATCH',\n} as const\n\n/**\n * Synthetic form path where the schema emits the percentage-sum-to-100\n * invariant. The hook subscribes to errors at this path to drive\n * `status.hasPercentageImbalance`.\n */\nexport const PERCENTAGE_TOTAL_PATH = 'percentageTotal' as const\n\nexport type SplitPaymentsFormErrorCode =\n (typeof SplitPaymentsFormErrorCodes)[keyof typeof SplitPaymentsFormErrorCodes]\n\nexport const SPLIT_BY_VALUES = [SPLIT_BY.percentage, SPLIT_BY.amount] as const\nexport type SplitByValue = (typeof SPLIT_BY_VALUES)[number]\n\n// Cleared NumberInput emits `NaN`. Normalize NaN to `null` at the schema\n// boundary so it (a) doesn't trip Zod's built-in \"expected number, received\n// NaN\" message, and (b) flows through the same REQUIRED branch in\n// `superRefine` as an explicitly null value.\nconst splitAmountValueSchema = z.preprocess(\n v => (typeof v === 'number' && Number.isNaN(v) ? null : v),\n z.number().nullable(),\n)\n\nconst fieldValidators = {\n splitBy: z.enum(SPLIT_BY_VALUES),\n splitAmount: z.record(z.string(), splitAmountValueSchema),\n priority: z.record(z.string(), z.number()),\n}\n\nexport type SplitPaymentsFormField = keyof typeof fieldValidators\n\nexport type SplitPaymentsFormData = {\n splitBy: SplitByValue\n splitAmount: Record<string, number | null>\n priority: Record<string, number>\n}\nexport type SplitPaymentsFormOutputs = SplitPaymentsFormData\n\nconst requiredFieldsConfig = {} satisfies RequiredFieldConfig<typeof fieldValidators>\n\nexport type SplitPaymentsFormOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\ninterface SplitPaymentsFormSchemaOptions {\n optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire\n}\n\n/**\n * Resolves the remainder uuid (highest priority value) from a priority map.\n * Exported so the hook can mirror the same selection rule when deriving\n * dynamic field metadata.\n */\nexport function resolveRemainderUuid(priority: Record<string, number>): string {\n return Object.entries(priority).reduce<string>((maxId, [uuid, value]) => {\n if (!maxId) return uuid\n const currentMax = priority[maxId] ?? 0\n return value > currentMax ? uuid : maxId\n }, '')\n}\n\nexport function createSplitPaymentsFormSchema(options: SplitPaymentsFormSchemaOptions = {}) {\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: SplitPaymentsFormErrorCodes.REQUIRED,\n mode: 'update',\n optionalFieldsToRequire: options.optionalFieldsToRequire,\n superRefine: (data, ctx) => {\n if (data.splitBy === SPLIT_BY.percentage) {\n let anyInvalid = false\n let total = 0\n for (const [uuid, value] of Object.entries(data.splitAmount)) {\n if (value === null) {\n anyInvalid = true\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.REQUIRED,\n })\n continue\n }\n if (!Number.isInteger(value) || value < 0 || value > 100) {\n anyInvalid = true\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.INVALID_PERCENTAGE,\n })\n continue\n }\n total += value\n }\n // Only enforce sum-to-100 when every split is otherwise valid. While\n // any value is missing or out of range, the per-field error is the\n // right thing to surface; an additional sum mismatch would be noise.\n // Emitted at the synthetic form path so the hook can drive a\n // form-level alert via `status.hasPercentageImbalance` without\n // polluting per-field errors.\n if (!anyInvalid && total !== 100) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [PERCENTAGE_TOTAL_PATH],\n message: SplitPaymentsFormErrorCodes.PERCENTAGE_TOTAL_MISMATCH,\n })\n }\n } else {\n const remainderUuid = resolveRemainderUuid(data.priority)\n for (const [uuid, value] of Object.entries(data.splitAmount)) {\n if (value === null) {\n if (uuid === remainderUuid) continue\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.REQUIRED,\n })\n continue\n }\n if (value < 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.INVALID_AMOUNT,\n })\n }\n }\n const priorities = Object.values(data.priority)\n if (new Set(priorities).size !== priorities.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['priority'],\n message: SplitPaymentsFormErrorCodes.DUPLICATE_PRIORITIES,\n })\n }\n }\n },\n })\n}\n"],"names":["SplitPaymentsFormErrorCodes","PERCENTAGE_TOTAL_PATH","SPLIT_BY_VALUES","SPLIT_BY","splitAmountValueSchema","z","v","fieldValidators","requiredFieldsConfig","resolveRemainderUuid","priority","maxId","uuid","value","currentMax","createSplitPaymentsFormSchema","options","buildFormSchema","data","ctx","anyInvalid","total","remainderUuid","priorities"],"mappings":"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"}
1
+ {"version":3,"file":"useSplitPaymentsFormSchema.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type OptionalFieldsToRequire,\n type RequiredFieldConfig,\n} from '@/partner-hook-utils/form/buildFormSchema'\nimport { SPLIT_BY } from '@/shared/constants'\n\n/**\n * Validation error codes emitted by the split payments form schema. Map these\n * codes to localized copy in `validationMessages` when composing the hook.\n *\n * @public\n */\nexport const SplitPaymentsFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n INVALID_PERCENTAGE: 'INVALID_PERCENTAGE',\n INVALID_AMOUNT: 'INVALID_AMOUNT',\n DUPLICATE_PRIORITIES: 'DUPLICATE_PRIORITIES',\n PERCENTAGE_TOTAL_MISMATCH: 'PERCENTAGE_TOTAL_MISMATCH',\n} as const\n\n/**\n * Synthetic form path where the schema emits the percentage-sum-to-100\n * invariant. The hook subscribes to errors at this path to drive\n * `status.hasPercentageImbalance`.\n *\n * @internal\n */\nexport const PERCENTAGE_TOTAL_PATH = 'percentageTotal' as const\n\n/**\n * Union of validation error code strings emitted by the split payments form\n * schema.\n *\n * @public\n */\nexport type SplitPaymentsFormErrorCode =\n (typeof SplitPaymentsFormErrorCodes)[keyof typeof SplitPaymentsFormErrorCodes]\n\n/**\n * Supported split-by modes: split by percentage of net pay, or by fixed dollar\n * amount per account.\n *\n * @public\n */\nexport const SPLIT_BY_VALUES = [SPLIT_BY.percentage, SPLIT_BY.amount] as const\n/**\n * Union of split-by mode values that the form accepts.\n *\n * @public\n */\nexport type SplitByValue = (typeof SPLIT_BY_VALUES)[number]\n\n// Cleared NumberInput emits `NaN`. Normalize NaN to `null` at the schema\n// boundary so it (a) doesn't trip Zod's built-in \"expected number, received\n// NaN\" message, and (b) flows through the same REQUIRED branch in\n// `superRefine` as an explicitly null value.\nconst splitAmountValueSchema = z.preprocess(\n v => (typeof v === 'number' && Number.isNaN(v) ? null : v),\n z.number().nullable(),\n)\n\nconst fieldValidators = {\n splitBy: z.enum(SPLIT_BY_VALUES),\n splitAmount: z.record(z.string(), splitAmountValueSchema),\n priority: z.record(z.string(), z.number()),\n}\n\n/**\n * Field names accepted by the split payments form.\n *\n * @public\n */\nexport type SplitPaymentsFormField = keyof typeof fieldValidators\n\n/**\n * Shape of the values managed by the split payments form. `splitAmount` and\n * `priority` are keyed by bank account uuid.\n *\n * @public\n */\nexport type SplitPaymentsFormData = {\n /** Selected split mode — by percentage or by fixed amount. */\n splitBy: SplitByValue\n /** Per-account split values keyed by bank account uuid (percent or dollars depending on `splitBy`). */\n splitAmount: Record<string, number | null>\n /** Per-account priority values keyed by bank account uuid; the highest priority receives the remainder. */\n priority: Record<string, number>\n}\n/**\n * Shape of the validated values produced by the split payments form on submit.\n *\n * @public\n */\nexport type SplitPaymentsFormOutputs = SplitPaymentsFormData\n\nconst requiredFieldsConfig = {} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n/**\n * Keys of optional split payments fields that can be promoted to required via\n * the hook's `optionalFieldsToRequire` option.\n *\n * @public\n */\nexport type SplitPaymentsFormOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\n/** @internal */\ninterface SplitPaymentsFormSchemaOptions {\n optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire\n}\n\n/**\n * Resolves the remainder uuid (highest priority value) from a priority map.\n * Exported so the hook can mirror the same selection rule when deriving\n * dynamic field metadata.\n */\nfunction resolveRemainderUuid(priority: Record<string, number>): string {\n return Object.entries(priority).reduce<string>((maxId, [uuid, value]) => {\n if (!maxId) return uuid\n const currentMax = priority[maxId] ?? 0\n return value > currentMax ? uuid : maxId\n }, '')\n}\n\n/** @internal */\nexport function createSplitPaymentsFormSchema(options: SplitPaymentsFormSchemaOptions = {}) {\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: SplitPaymentsFormErrorCodes.REQUIRED,\n mode: 'update',\n optionalFieldsToRequire: options.optionalFieldsToRequire,\n superRefine: (data, ctx) => {\n if (data.splitBy === SPLIT_BY.percentage) {\n let anyInvalid = false\n let total = 0\n for (const [uuid, value] of Object.entries(data.splitAmount)) {\n if (value === null) {\n anyInvalid = true\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.REQUIRED,\n })\n continue\n }\n if (!Number.isInteger(value) || value < 0 || value > 100) {\n anyInvalid = true\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.INVALID_PERCENTAGE,\n })\n continue\n }\n total += value\n }\n // Only enforce sum-to-100 when every split is otherwise valid. While\n // any value is missing or out of range, the per-field error is the\n // right thing to surface; an additional sum mismatch would be noise.\n // Emitted at the synthetic form path so the hook can drive a\n // form-level alert via `status.hasPercentageImbalance` without\n // polluting per-field errors.\n if (!anyInvalid && total !== 100) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [PERCENTAGE_TOTAL_PATH],\n message: SplitPaymentsFormErrorCodes.PERCENTAGE_TOTAL_MISMATCH,\n })\n }\n } else {\n const remainderUuid = resolveRemainderUuid(data.priority)\n for (const [uuid, value] of Object.entries(data.splitAmount)) {\n if (value === null) {\n if (uuid === remainderUuid) continue\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.REQUIRED,\n })\n continue\n }\n if (value < 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.INVALID_AMOUNT,\n })\n }\n }\n const priorities = Object.values(data.priority)\n if (new Set(priorities).size !== priorities.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['priority'],\n message: SplitPaymentsFormErrorCodes.DUPLICATE_PRIORITIES,\n })\n }\n }\n },\n })\n}\n"],"names":["SplitPaymentsFormErrorCodes","PERCENTAGE_TOTAL_PATH","SPLIT_BY_VALUES","SPLIT_BY","splitAmountValueSchema","z","v","fieldValidators","requiredFieldsConfig","resolveRemainderUuid","priority","maxId","uuid","value","currentMax","createSplitPaymentsFormSchema","options","buildFormSchema","data","ctx","anyInvalid","total","remainderUuid","priorities"],"mappings":"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"}
@@ -1,7 +1,14 @@
1
1
  import { EventType } from '../../../../../shared/constants';
2
2
  import { OnEventType } from '../../../../Base/useBase';
3
+ /**
4
+ * Props for {@link PaystubsCard}.
5
+ *
6
+ * @public
7
+ */
3
8
  export interface PaystubsCardProps {
9
+ /** The associated employee identifier. */
4
10
  employeeId: string;
11
+ /** Event handler fired when paystub interactions occur. */
5
12
  onEvent: OnEventType<EventType, unknown>;
6
13
  }
7
14
  /**
@@ -12,5 +19,7 @@ export interface PaystubsCardProps {
12
19
  * download success. The card has no edit transitions and no alert API —
13
20
  * paystubs is a read-only surface whose only action is a download side
14
21
  * effect that opens the PDF in a new tab.
22
+ *
23
+ * @public
15
24
  */
16
25
  export declare function PaystubsCard(props: PaystubsCardProps): import("react").JSX.Element;