@gusto/embedded-react-sdk 0.46.0 → 0.46.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/dist/components/Common/DataView/DataCards/DataCards.d.ts +2 -1
  3. package/dist/components/Common/DataView/DataCards/DataCards.js +14 -13
  4. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  5. package/dist/components/Common/DataView/DataTable/DataTable.d.ts +2 -1
  6. package/dist/components/Common/DataView/DataTable/DataTable.js +85 -80
  7. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  8. package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js +8 -0
  9. package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js.map +1 -0
  10. package/dist/components/Common/DataView/DataView.d.ts +1 -0
  11. package/dist/components/Common/DataView/DataView.js.map +1 -1
  12. package/dist/components/Common/DataView/useDataView.d.ts +10 -1
  13. package/dist/components/Common/DataView/useDataView.js +20 -17
  14. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  15. package/dist/components/Common/DocumentViewer/DocumentViewer.js +10 -10
  16. package/dist/components/Common/DocumentViewer/DocumentViewer.js.map +1 -1
  17. package/dist/components/Common/DocumentViewer/DocumentViewer.module.scss.js +9 -9
  18. package/dist/components/Common/PaginationControl/PaginationControl.js +11 -10
  19. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  20. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -1
  21. package/dist/components/Common/UI/DescriptionList/DescriptionList.js +11 -10
  22. package/dist/components/Common/UI/DescriptionList/DescriptionList.js.map +1 -1
  23. package/dist/components/Common/UI/DescriptionList/DescriptionList.module.scss.js +4 -4
  24. package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -1
  25. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  26. package/dist/components/Common/UI/NumberInput/NumberInput.js +51 -48
  27. package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
  28. package/dist/components/Common/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  29. package/dist/components/Common/VisuallyHidden/VisuallyHidden.js.map +1 -1
  30. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  31. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  32. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  33. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  34. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  35. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  36. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  37. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  38. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  39. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  40. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
  41. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  42. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  43. package/dist/components/Company/Industry/Context.js +6 -7
  44. package/dist/components/Company/Industry/Context.js.map +1 -1
  45. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  46. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  47. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  48. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  49. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  50. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  51. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
  52. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  53. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  54. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  55. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  56. package/dist/components/Contractor/Address/useAddress.js +5 -6
  57. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  58. package/dist/components/Contractor/Profile/useContractorProfile.js +33 -34
  59. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  60. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.d.ts +9 -0
  61. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js +76 -0
  62. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js.map +1 -0
  63. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js +8 -0
  64. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js.map +1 -0
  65. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js +60 -202
  66. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -1
  67. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.d.ts +25 -0
  68. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js +79 -0
  69. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js.map +1 -0
  70. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js +8 -0
  71. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js.map +1 -0
  72. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.d.ts +18 -0
  73. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +171 -0
  74. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -0
  75. package/dist/components/Employee/Compensation/management/index.d.ts +3 -0
  76. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +6 -1
  77. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +67 -209
  78. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
  79. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js +36 -36
  80. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
  81. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.d.ts +18 -0
  82. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +169 -0
  83. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -0
  84. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +16 -0
  85. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js +36 -30
  86. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
  87. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +1 -1
  88. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
  89. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
  90. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +213 -191
  91. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  92. package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
  93. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +6 -5
  94. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +162 -131
  95. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
  96. package/dist/components/Employee/Dashboard/BasicDetailsView.js +74 -88
  97. package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
  98. package/dist/components/Employee/Dashboard/Dashboard.js +86 -72
  99. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  100. package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +3 -3
  101. package/dist/components/Employee/Dashboard/DashboardComponents.js +138 -101
  102. package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
  103. package/dist/components/Employee/Dashboard/DocumentsView.js +17 -10
  104. package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
  105. package/dist/components/Employee/Dashboard/JobAndPayView.js +359 -313
  106. package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
  107. package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js +5 -3
  108. package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js.map +1 -1
  109. package/dist/components/Employee/Dashboard/TaxesView.js +114 -101
  110. package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
  111. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +147 -148
  112. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  113. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.d.ts +6 -0
  114. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js +37 -36
  115. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js.map +1 -1
  116. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.d.ts +2 -2
  117. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js +34 -35
  118. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js.map +1 -1
  119. package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js +57 -57
  120. package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js.map +1 -1
  121. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +14 -5
  122. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js +55 -36
  123. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
  124. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
  125. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js +18 -18
  126. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
  127. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
  128. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +3 -3
  129. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
  130. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  131. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  132. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
  133. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +37 -40
  134. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  135. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +1 -2
  136. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +64 -71
  137. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  138. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +2 -0
  139. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js +25 -0
  140. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -0
  141. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +13 -0
  142. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js +37 -0
  143. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -0
  144. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.d.ts +6 -0
  145. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +69 -0
  146. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -0
  147. package/dist/components/Employee/EmployeeListFlow/index.d.ts +3 -0
  148. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
  149. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +15 -12
  150. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
  151. package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +2 -1
  152. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +170 -157
  153. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  154. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +56 -55
  155. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
  156. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +20 -20
  157. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
  158. package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
  159. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.d.ts +1 -1
  160. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
  161. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
  162. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
  163. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
  164. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +0 -1
  165. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js +11 -12
  166. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js.map +1 -1
  167. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.test.d.ts +1 -0
  168. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +6 -1
  169. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +95 -94
  170. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
  171. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
  172. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +6 -1
  173. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +87 -86
  174. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  175. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js +18 -18
  176. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -1
  177. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
  178. package/dist/components/Employee/Taxes/useTaxes.js +3 -4
  179. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  180. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +14 -11
  181. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
  182. package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +2 -1
  183. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +96 -89
  184. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  185. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +61 -60
  186. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
  187. package/dist/components/Employee/exports/employeeManagement.d.ts +2 -0
  188. package/dist/components/Employee/exports/employeeManagement.js +18 -16
  189. package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
  190. package/dist/components/Employee/index.d.ts +2 -0
  191. package/dist/components/Employee/index.js +32 -30
  192. package/dist/components/Employee/index.js.map +1 -1
  193. package/dist/components/Flow/FlowHeader.js +34 -31
  194. package/dist/components/Flow/FlowHeader.js.map +1 -1
  195. package/dist/components/Flow/useFlow.d.ts +12 -0
  196. package/dist/components/Flow/useFlow.js.map +1 -1
  197. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  198. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  199. package/dist/components/Payroll/usePreparedPayrollData.js +2 -3
  200. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  201. package/dist/components/TimeOff/PolicyList/PolicyList.js +92 -69
  202. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  203. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +23 -23
  204. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
  205. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
  206. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  207. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +73 -56
  208. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
  209. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +58 -58
  210. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  211. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
  212. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +91 -87
  213. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  214. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
  215. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +91 -125
  216. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  217. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
  218. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +60 -91
  219. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
  220. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.module.scss.js +4 -4
  221. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +0 -16
  222. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +139 -225
  223. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  224. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +7 -3
  225. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +78 -54
  226. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  227. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.test.d.ts +1 -0
  228. package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js +12 -11
  229. package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -1
  230. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +177 -147
  231. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  232. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +34 -34
  233. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
  234. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +1 -1
  235. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +38 -36
  236. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
  237. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +2 -0
  238. package/dist/helpers/breadcrumbHelpers.d.ts +1 -1
  239. package/dist/helpers/breadcrumbHelpers.js.map +1 -1
  240. package/dist/helpers/federalEin.d.ts +1 -0
  241. package/dist/helpers/federalEin.js.map +1 -1
  242. package/dist/helpers/mask.d.ts +8 -4
  243. package/dist/helpers/mask.js.map +1 -1
  244. package/dist/helpers/rem.d.ts +2 -1
  245. package/dist/helpers/rem.js.map +1 -1
  246. package/dist/hooks/useAsyncError.d.ts +1 -0
  247. package/dist/hooks/useAsyncError.js.map +1 -1
  248. package/dist/hooks/useForkRef/useForkRef.d.ts +1 -0
  249. package/dist/hooks/useForkRef/useForkRef.js.map +1 -1
  250. package/dist/i18n/I18n.d.ts +9 -1
  251. package/dist/i18n/I18n.js.map +1 -1
  252. package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js +14 -14
  253. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +16 -22
  254. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js.map +1 -1
  255. package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js +17 -15
  256. package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js.map +1 -1
  257. package/dist/i18n/en/Company.TimeOff.TimeOffPolicyDetails.json.js +9 -9
  258. package/dist/i18n/en/Employee.Compensation.json.js +66 -58
  259. package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
  260. package/dist/i18n/en/Employee.Dashboard.json.js +28 -24
  261. package/dist/i18n/en/Employee.Dashboard.json.js.map +1 -1
  262. package/dist/i18n/en/Employee.HomeAddress.Management.json.js +12 -10
  263. package/dist/i18n/en/Employee.HomeAddress.Management.json.js.map +1 -1
  264. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +32 -30
  265. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
  266. package/dist/i18n/en/Employee.PaymentMethod.json.js +25 -25
  267. package/dist/i18n/en/Employee.StateTaxes.json.js +12 -10
  268. package/dist/i18n/en/Employee.StateTaxes.json.js.map +1 -1
  269. package/dist/i18n/en/Employee.WorkAddress.Management.json.js +16 -14
  270. package/dist/i18n/en/Employee.WorkAddress.Management.json.js.map +1 -1
  271. package/dist/i18n/en/common.json.d.ts +14 -0
  272. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +33 -32
  273. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
  274. package/dist/partner-hook-utils/types.d.ts +4 -0
  275. package/dist/shared/constants.d.ts +2 -0
  276. package/dist/shared/constants.js +13 -12
  277. package/dist/shared/constants.js.map +1 -1
  278. package/dist/style.css +1 -1
  279. package/dist/types/hooks.d.ts +1 -1
  280. package/dist/types/i18next.d.ts +30 -29
  281. package/dist/types/observability.d.ts +1 -1
  282. package/docs/reference/endpoint-inventory.json +24 -8
  283. package/package.json +30 -27
  284. package/dist/components/Employee/Dashboard/CompensationCard.d.ts +0 -13
@@ -1,9 +1,9 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
+ import { useFormFieldsMetadataContext as r } from "../../../../../partner-hook-utils/form/FormFieldsMetadataContext.js";
3
+ import { usePlaceholderSSN as m, normalizeSSN as l } from "../../../../../helpers/ssn.js";
4
+ import { SwitchHookField as d } from "../../../../../partner-hook-utils/form/fields/SwitchHookField.js";
2
5
  import { TextInputHookField as a } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
3
- import { DatePickerHookField as r } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
4
- import { SwitchHookField as m } from "../../../../../partner-hook-utils/form/fields/SwitchHookField.js";
5
- import { useFormFieldsMetadataContext as l } from "../../../../../partner-hook-utils/form/FormFieldsMetadataContext.js";
6
- import { usePlaceholderSSN as d, normalizeSSN as f } from "../../../../../helpers/ssn.js";
6
+ import { DatePickerHookField as f } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
7
7
  function h(e) {
8
8
  return /* @__PURE__ */ t(a, { ...e, name: "firstName" });
9
9
  }
@@ -17,22 +17,22 @@ function x(e) {
17
17
  return /* @__PURE__ */ t(a, { ...e, name: "email" });
18
18
  }
19
19
  function H(e) {
20
- return /* @__PURE__ */ t(r, { ...e, name: "dateOfBirth" });
20
+ return /* @__PURE__ */ t(f, { ...e, name: "dateOfBirth" });
21
21
  }
22
22
  function O(e) {
23
- const n = l(), i = e.formHookResult?.form.fieldsMetadata ?? n?.metadata ?? {}, o = d(i.ssn?.hasRedactedValue);
23
+ const n = r(), i = e.formHookResult?.form.fieldsMetadata ?? n?.metadata ?? {}, o = m(i.ssn?.hasRedactedValue);
24
24
  return /* @__PURE__ */ t(
25
25
  a,
26
26
  {
27
27
  ...e,
28
28
  name: "ssn",
29
- transform: f,
29
+ transform: l,
30
30
  placeholder: o
31
31
  }
32
32
  );
33
33
  }
34
34
  function I(e) {
35
- return /* @__PURE__ */ t(m, { ...e, name: "selfOnboarding" });
35
+ return /* @__PURE__ */ t(d, { ...e, name: "selfOnboarding" });
36
36
  }
37
37
  export {
38
38
  H as DateOfBirthField,
@@ -1,8 +1,8 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { TextInputHookField as i } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
3
- import { SelectHookField as r } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
2
+ import { DatePickerHookField as r } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
4
3
  import { CheckboxHookField as n } from "../../../../../partner-hook-utils/form/fields/CheckboxHookField.js";
5
- import { DatePickerHookField as o } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
4
+ import { TextInputHookField as i } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
5
+ import { SelectHookField as o } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
6
6
  function d(e) {
7
7
  return /* @__PURE__ */ t(i, { ...e, name: "street1" });
8
8
  }
@@ -13,7 +13,7 @@ function F(e) {
13
13
  return /* @__PURE__ */ t(i, { ...e, name: "city" });
14
14
  }
15
15
  function p(e) {
16
- return /* @__PURE__ */ t(r, { ...e, name: "state" });
16
+ return /* @__PURE__ */ t(o, { ...e, name: "state" });
17
17
  }
18
18
  function k(e) {
19
19
  return /* @__PURE__ */ t(i, { ...e, name: "zip" });
@@ -22,7 +22,7 @@ function s(e) {
22
22
  return /* @__PURE__ */ t(n, { ...e, name: "courtesyWithholding" });
23
23
  }
24
24
  function h(e) {
25
- return /* @__PURE__ */ t(o, { ...e, name: "effectiveDate" });
25
+ return /* @__PURE__ */ t(r, { ...e, name: "effectiveDate" });
26
26
  }
27
27
  export {
28
28
  F as CityField,
@@ -21,7 +21,6 @@ export type HomeAddressFormData = {
21
21
  export type HomeAddressFormOutputs = HomeAddressFormData;
22
22
  declare const requiredFieldsConfig: {
23
23
  street2: "never";
24
- effectiveDate: "never";
25
24
  };
26
25
  export type HomeAddressOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
27
26
  interface HomeAddressSchemaOptions {
@@ -1,6 +1,6 @@
1
1
  import { z as e } from "zod";
2
2
  import { buildFormSchema as d } from "../../../../../partner-hook-utils/form/buildFormSchema.js";
3
- const t = {
3
+ const r = {
4
4
  REQUIRED: "REQUIRED",
5
5
  INVALID_ZIP: "INVALID_ZIP"
6
6
  }, n = /(^\d{5}$)|(^\d{5}-\d{4}$)/, c = {
@@ -8,25 +8,24 @@ const t = {
8
8
  street2: e.string(),
9
9
  city: e.string(),
10
10
  state: e.string(),
11
- zip: e.string().regex(n, { message: t.INVALID_ZIP }),
11
+ zip: e.string().regex(n, { message: r.INVALID_ZIP }),
12
12
  courtesyWithholding: e.boolean(),
13
- effectiveDate: e.iso.date({ error: () => t.REQUIRED })
13
+ effectiveDate: e.iso.date({ error: () => r.REQUIRED })
14
14
  }, a = {
15
- street2: "never",
16
- effectiveDate: "never"
15
+ street2: "never"
17
16
  };
18
- function E(r = {}) {
19
- const { mode: i = "create", optionalFieldsToRequire: o, withEffectiveDateField: s = !0 } = r;
17
+ function f(t = {}) {
18
+ const { mode: o = "create", optionalFieldsToRequire: i, withEffectiveDateField: s = !0 } = t;
20
19
  return d(c, {
21
20
  requiredFieldsConfig: a,
22
- requiredErrorCode: t.REQUIRED,
23
- mode: i,
24
- optionalFieldsToRequire: o,
21
+ requiredErrorCode: r.REQUIRED,
22
+ mode: o,
23
+ optionalFieldsToRequire: i,
25
24
  excludeFields: s ? [] : ["effectiveDate"]
26
25
  });
27
26
  }
28
27
  export {
29
- t as HomeAddressErrorCodes,
30
- E as createHomeAddressSchema
28
+ r as HomeAddressErrorCodes,
29
+ f as createHomeAddressSchema
31
30
  };
32
31
  //# sourceMappingURL=homeAddressSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"homeAddressSchema.js","sources":["../../../../../../src/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type RequiredFieldConfig,\n type OptionalFieldsToRequire,\n} from '@/partner-hook-utils/form/buildFormSchema'\n\n// ── Error codes ────────────────────────────────────────────────────────\n\nexport const HomeAddressErrorCodes = {\n REQUIRED: 'REQUIRED',\n INVALID_ZIP: 'INVALID_ZIP',\n} as const\n\nexport type HomeAddressErrorCode =\n (typeof HomeAddressErrorCodes)[keyof typeof HomeAddressErrorCodes]\n\n// ── Field validators ───────────────────────────────────────────────────\n\nconst ZIP_REGEX = /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/\n\nconst fieldValidators = {\n street1: z.string(),\n street2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string().regex(ZIP_REGEX, { message: HomeAddressErrorCodes.INVALID_ZIP }),\n courtesyWithholding: z.boolean(),\n effectiveDate: z.iso.date({ error: () => HomeAddressErrorCodes.REQUIRED }),\n}\n\nexport type HomeAddressField = keyof typeof fieldValidators\n\nexport type HomeAddressFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\nexport type HomeAddressFormOutputs = HomeAddressFormData\n\n// ── Required fields config ─────────────────────────────────────────────\n\nconst requiredFieldsConfig = {\n street2: 'never',\n effectiveDate: 'never',\n} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n// ── Schema factory ─────────────────────────────────────────────────────\n\nexport type HomeAddressOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\ninterface HomeAddressSchemaOptions {\n mode?: 'create' | 'update'\n optionalFieldsToRequire?: HomeAddressOptionalFieldsToRequire\n withEffectiveDateField?: boolean\n}\n\nexport function createHomeAddressSchema(options: HomeAddressSchemaOptions = {}) {\n const { mode = 'create', optionalFieldsToRequire, withEffectiveDateField = true } = options\n\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: HomeAddressErrorCodes.REQUIRED,\n mode,\n optionalFieldsToRequire,\n excludeFields: withEffectiveDateField ? [] : ['effectiveDate'],\n })\n}\n"],"names":["HomeAddressErrorCodes","ZIP_REGEX","fieldValidators","z","requiredFieldsConfig","createHomeAddressSchema","options","mode","optionalFieldsToRequire","withEffectiveDateField","buildFormSchema"],"mappings":";;AASO,MAAMA,IAAwB;AAAA,EACnC,UAAU;AAAA,EACV,aAAa;AACf,GAOMC,IAAY,6BAEZC,IAAkB;AAAA,EACtB,SAASC,EAAE,OAAA;AAAA,EACX,SAASA,EAAE,OAAA;AAAA,EACX,MAAMA,EAAE,OAAA;AAAA,EACR,OAAOA,EAAE,OAAA;AAAA,EACT,KAAKA,EAAE,OAAA,EAAS,MAAMF,GAAW,EAAE,SAASD,EAAsB,aAAa;AAAA,EAC/E,qBAAqBG,EAAE,QAAA;AAAA,EACvB,eAAeA,EAAE,IAAI,KAAK,EAAE,OAAO,MAAMH,EAAsB,SAAA,CAAU;AAC3E,GAWMI,IAAuB;AAAA,EAC3B,SAAS;AAAA,EACT,eAAe;AACjB;AAcO,SAASC,EAAwBC,IAAoC,IAAI;AAC9E,QAAM,EAAE,MAAAC,IAAO,UAAU,yBAAAC,GAAyB,wBAAAC,IAAyB,OAASH;AAEpF,SAAOI,EAAgBR,GAAiB;AAAA,IACtC,sBAAAE;AAAA,IACA,mBAAmBJ,EAAsB;AAAA,IACzC,MAAAO;AAAA,IACA,yBAAAC;AAAA,IACA,eAAeC,IAAyB,CAAA,IAAK,CAAC,eAAe;AAAA,EAAA,CAC9D;AACH;"}
1
+ {"version":3,"file":"homeAddressSchema.js","sources":["../../../../../../src/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type RequiredFieldConfig,\n type OptionalFieldsToRequire,\n} from '@/partner-hook-utils/form/buildFormSchema'\n\n// ── Error codes ────────────────────────────────────────────────────────\n\nexport const HomeAddressErrorCodes = {\n REQUIRED: 'REQUIRED',\n INVALID_ZIP: 'INVALID_ZIP',\n} as const\n\nexport type HomeAddressErrorCode =\n (typeof HomeAddressErrorCodes)[keyof typeof HomeAddressErrorCodes]\n\n// ── Field validators ───────────────────────────────────────────────────\n\nconst ZIP_REGEX = /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/\n\nconst fieldValidators = {\n street1: z.string(),\n street2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string().regex(ZIP_REGEX, { message: HomeAddressErrorCodes.INVALID_ZIP }),\n courtesyWithholding: z.boolean(),\n effectiveDate: z.iso.date({ error: () => HomeAddressErrorCodes.REQUIRED }),\n}\n\nexport type HomeAddressField = keyof typeof fieldValidators\n\nexport type HomeAddressFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\nexport type HomeAddressFormOutputs = HomeAddressFormData\n\n// ── Required fields config ─────────────────────────────────────────────\n\nconst requiredFieldsConfig = {\n street2: 'never',\n} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n// ── Schema factory ─────────────────────────────────────────────────────\n\nexport type HomeAddressOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\ninterface HomeAddressSchemaOptions {\n mode?: 'create' | 'update'\n optionalFieldsToRequire?: HomeAddressOptionalFieldsToRequire\n withEffectiveDateField?: boolean\n}\n\nexport function createHomeAddressSchema(options: HomeAddressSchemaOptions = {}) {\n const { mode = 'create', optionalFieldsToRequire, withEffectiveDateField = true } = options\n\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: HomeAddressErrorCodes.REQUIRED,\n mode,\n optionalFieldsToRequire,\n excludeFields: withEffectiveDateField ? [] : ['effectiveDate'],\n })\n}\n"],"names":["HomeAddressErrorCodes","ZIP_REGEX","fieldValidators","z","requiredFieldsConfig","createHomeAddressSchema","options","mode","optionalFieldsToRequire","withEffectiveDateField","buildFormSchema"],"mappings":";;AASO,MAAMA,IAAwB;AAAA,EACnC,UAAU;AAAA,EACV,aAAa;AACf,GAOMC,IAAY,6BAEZC,IAAkB;AAAA,EACtB,SAASC,EAAE,OAAA;AAAA,EACX,SAASA,EAAE,OAAA;AAAA,EACX,MAAMA,EAAE,OAAA;AAAA,EACR,OAAOA,EAAE,OAAA;AAAA,EACT,KAAKA,EAAE,OAAA,EAAS,MAAMF,GAAW,EAAE,SAASD,EAAsB,aAAa;AAAA,EAC/E,qBAAqBG,EAAE,QAAA;AAAA,EACvB,eAAeA,EAAE,IAAI,KAAK,EAAE,OAAO,MAAMH,EAAsB,SAAA,CAAU;AAC3E,GAWMI,IAAuB;AAAA,EAC3B,SAAS;AACX;AAcO,SAASC,EAAwBC,IAAoC,IAAI;AAC9E,QAAM,EAAE,MAAAC,IAAO,UAAU,yBAAAC,GAAyB,wBAAAC,IAAyB,OAASH;AAEpF,SAAOI,EAAgBR,GAAiB;AAAA,IACtC,sBAAAE;AAAA,IACA,mBAAmBJ,EAAsB;AAAA,IACzC,MAAAO;AAAA,IACA,yBAAAC;AAAA,IACA,eAAeC,IAAyB,CAAA,IAAK,CAAC,eAAe;AAAA,EAAA,CAC9D;AACH;"}
@@ -16,6 +16,11 @@ export interface UseHomeAddressFormProps {
16
16
  * When omitted, the form is in create mode (POST).
17
17
  */
18
18
  homeAddressUuid?: string;
19
+ /**
20
+ * Pre-loaded address matching `homeAddressUuid`. When supplied, the form uses it directly
21
+ * instead of issuing a GET — useful when the parent already has the row from a list query.
22
+ */
23
+ initialAddress?: EmployeeAddress;
19
24
  withEffectiveDateField?: boolean;
20
25
  optionalFieldsToRequire?: HomeAddressOptionalFieldsToRequire;
21
26
  defaultValues?: Partial<HomeAddressFormData>;
@@ -44,7 +49,7 @@ export interface UseHomeAddressFormReady extends BaseFormHookReady<FieldsMetadat
44
49
  onSubmit: (options?: HomeAddressSubmitOptions) => Promise<HookSubmitResult<EmployeeAddress> | undefined>;
45
50
  };
46
51
  }
47
- export declare function useHomeAddressForm({ employeeId, homeAddressUuid, withEffectiveDateField, optionalFieldsToRequire, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseHomeAddressFormProps): HookLoadingResult | UseHomeAddressFormReady;
52
+ export declare function useHomeAddressForm({ employeeId, homeAddressUuid, initialAddress, withEffectiveDateField, optionalFieldsToRequire, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseHomeAddressFormProps): HookLoadingResult | UseHomeAddressFormReady;
48
53
  export type UseHomeAddressFormResult = HookLoadingResult | UseHomeAddressFormReady;
49
54
  export type HomeAddressFieldsMetadata = UseHomeAddressFormReady['form']['fieldsMetadata'];
50
55
  export type HomeAddressFormFields = UseHomeAddressFormReady['form']['Fields'];
@@ -1,84 +1,85 @@
1
- import { useMemo as E } from "react";
2
- import { useForm as Z } from "react-hook-form";
3
- import { zodResolver as x } from "@hookform/resolvers/zod";
4
- import { useEmployeeAddressesRetrieveHomeAddress as G } from "@gusto/embedded-api/react-query/employeeAddressesRetrieveHomeAddress";
5
- import { useEmployeeAddressesCreateMutation as K } from "@gusto/embedded-api/react-query/employeeAddressesCreate";
6
- import { useEmployeeAddressesUpdateMutation as Q } from "@gusto/embedded-api/react-query/employeeAddressesUpdate";
7
- import { RFCDate as T } from "@gusto/embedded-api/types/rfcdate";
8
- import { createHomeAddressSchema as _ } from "./homeAddressSchema.js";
9
- import { EffectiveDateField as j, CourtesyWithholdingField as J, ZipField as N, StateField as X, CityField as Y, Street2Field as $, Street1Field as U } from "./fields.js";
10
- import { useDeriveFieldsMetadata as ee } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";
11
- import { useHookFormInternals as te } from "../../../../../partner-hook-utils/form/useHookFormInternals.js";
12
- import { createGetFormSubmissionValues as se } from "../../../../../partner-hook-utils/form/getFormSubmissionValues.js";
13
- import { withOptions as re } from "../../../../../partner-hook-utils/form/withOptions.js";
14
- import { composeErrorHandler as oe } from "../../../../../partner-hook-utils/composeErrorHandler.js";
15
- import { useBaseSubmit as ie } from "../../../../Base/useBaseSubmit.js";
1
+ import { useMemo as W } from "react";
2
+ import { useForm as G } from "react-hook-form";
3
+ import { zodResolver as K } from "@hookform/resolvers/zod";
4
+ import { useEmployeeAddressesRetrieveHomeAddress as Q } from "@gusto/embedded-api/react-query/employeeAddressesRetrieveHomeAddress";
5
+ import { useEmployeeAddressesCreateMutation as T } from "@gusto/embedded-api/react-query/employeeAddressesCreate";
6
+ import { useEmployeeAddressesUpdateMutation as _ } from "@gusto/embedded-api/react-query/employeeAddressesUpdate";
7
+ import { RFCDate as j } from "@gusto/embedded-api/types/rfcdate";
8
+ import { createHomeAddressSchema as J } from "./homeAddressSchema.js";
9
+ import { EffectiveDateField as N, CourtesyWithholdingField as X, ZipField as Y, StateField as $, CityField as U, Street2Field as ee, Street1Field as te } from "./fields.js";
10
+ import { useDeriveFieldsMetadata as se } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";
11
+ import { useHookFormInternals as re } from "../../../../../partner-hook-utils/form/useHookFormInternals.js";
12
+ import { createGetFormSubmissionValues as oe } from "../../../../../partner-hook-utils/form/getFormSubmissionValues.js";
13
+ import { withOptions as ie } from "../../../../../partner-hook-utils/form/withOptions.js";
14
+ import { composeErrorHandler as me } from "../../../../../partner-hook-utils/composeErrorHandler.js";
15
+ import { useBaseSubmit as ne } from "../../../../Base/useBaseSubmit.js";
16
16
  import { SDKInternalError as u } from "../../../../../types/sdkError.js";
17
- import { STATES_ABBR as M } from "../../../../../shared/constants.js";
18
- function Ee({
19
- employeeId: W,
20
- homeAddressUuid: r,
17
+ import { STATES_ABBR as w } from "../../../../../shared/constants.js";
18
+ function We({
19
+ employeeId: z,
20
+ homeAddressUuid: s,
21
+ initialAddress: f,
21
22
  withEffectiveDateField: i = !0,
22
- optionalFieldsToRequire: f,
23
- defaultValues: s,
24
- validationMode: w = "onSubmit",
25
- shouldFocusError: z = !0
23
+ optionalFieldsToRequire: l,
24
+ defaultValues: r,
25
+ validationMode: D = "onSubmit",
26
+ shouldFocusError: C = !0
26
27
  }) {
27
- const l = G(
28
- { homeAddressUuid: r ?? "" },
29
- { enabled: !!r }
30
- ), d = !r, e = r ? l.data?.employeeAddress : void 0, p = d ? "create" : "update", [v, D] = E(
31
- () => _({
32
- mode: p,
33
- optionalFieldsToRequire: f,
28
+ const p = !!s && f?.uuid === s, v = Q(
29
+ { homeAddressUuid: s ?? "" },
30
+ { enabled: !!s && !p }
31
+ ), m = !s, e = s ? p ? f : v.data?.employeeAddress : void 0, y = m ? "create" : "update", [h, I] = W(
32
+ () => J({
33
+ mode: y,
34
+ optionalFieldsToRequire: l,
34
35
  withEffectiveDateField: i
35
36
  }),
36
- [p, f, i]
37
- ), y = E(
37
+ [y, l, i]
38
+ ), g = W(
38
39
  () => ({
39
- street1: e?.street1 ?? s?.street1 ?? "",
40
- street2: e?.street2 ?? s?.street2 ?? "",
41
- city: e?.city ?? s?.city ?? "",
42
- state: e?.state ?? s?.state ?? "",
43
- zip: e?.zip ?? s?.zip ?? "",
44
- courtesyWithholding: e?.courtesyWithholding ?? s?.courtesyWithholding ?? !1,
45
- effectiveDate: e?.effectiveDate?.toString() ?? s?.effectiveDate ?? ""
40
+ street1: e?.street1 ?? r?.street1 ?? "",
41
+ street2: e?.street2 ?? r?.street2 ?? "",
42
+ city: e?.city ?? r?.city ?? "",
43
+ state: e?.state ?? r?.state ?? "",
44
+ zip: e?.zip ?? r?.zip ?? "",
45
+ courtesyWithholding: e?.courtesyWithholding ?? r?.courtesyWithholding ?? !1,
46
+ effectiveDate: e?.effectiveDate?.toString() ?? r?.effectiveDate ?? ""
46
47
  }),
47
- [e, s]
48
- ), a = Z({
49
- resolver: x(v),
50
- mode: w,
51
- shouldFocusError: z,
52
- defaultValues: y,
53
- values: y,
48
+ [e, r]
49
+ ), a = G({
50
+ resolver: K(h),
51
+ mode: D,
52
+ shouldFocusError: C,
53
+ defaultValues: g,
54
+ values: g,
54
55
  resetOptions: { keepDirtyValues: !0 }
55
- }), h = K(), g = Q(), C = h.isPending || g.isPending, {
56
- baseSubmitHandler: I,
57
- error: q,
58
- setError: B
59
- } = ie("HomeAddressForm"), S = oe(r ? [l] : [], { submitError: q, setSubmitError: B }), P = M.map((m) => ({
60
- value: m,
61
- label: m
62
- })), o = ee(D, a.control), V = {
56
+ }), S = T(), A = _(), q = S.isPending || A.isPending, {
57
+ baseSubmitHandler: B,
58
+ error: P,
59
+ setError: V
60
+ } = ne("HomeAddressForm"), H = me(s ? [v] : [], { submitError: P, setSubmitError: V }), R = w.map((n) => ({
61
+ value: n,
62
+ label: n
63
+ })), o = se(I, a.control), k = {
63
64
  street1: o.street1,
64
65
  street2: o.street2,
65
66
  city: o.city,
66
- state: re(o.state, P, M),
67
+ state: ie(o.state, R, w),
67
68
  zip: o.zip,
68
69
  courtesyWithholding: o.courtesyWithholding,
69
70
  effectiveDate: o.effectiveDate
70
- }, R = async (m) => {
71
- let A;
72
- return await new Promise((H) => {
71
+ }, O = async (n) => {
72
+ let F;
73
+ return await new Promise((b) => {
73
74
  a.handleSubmit(
74
- async (O) => {
75
- await I(O, async (t) => {
76
- const L = m?.employeeId ?? W, F = i && t.effectiveDate ? t.effectiveDate : m?.effectiveDate ?? (!i && !d ? e?.effectiveDate?.toString() : void 0), b = F ? new T(new Date(F)) : void 0;
75
+ async (Z) => {
76
+ await B(Z, async (t) => {
77
+ const x = n?.employeeId ?? z, M = i && t.effectiveDate ? t.effectiveDate : n?.effectiveDate ?? (!i && !m ? e?.effectiveDate?.toString() : void 0), E = M ? new j(new Date(M)) : void 0;
77
78
  let c;
78
- if (d) {
79
- const n = await h.mutateAsync({
79
+ if (m) {
80
+ const d = await S.mutateAsync({
80
81
  request: {
81
- employeeId: L,
82
+ employeeId: x,
82
83
  requestBody: {
83
84
  street1: t.street1,
84
85
  street2: t.street2 || void 0,
@@ -86,19 +87,19 @@ function Ee({
86
87
  state: t.state,
87
88
  zip: t.zip,
88
89
  courtesyWithholding: t.courtesyWithholding,
89
- effectiveDate: b
90
+ effectiveDate: E
90
91
  }
91
92
  }
92
93
  });
93
- if (!n.employeeAddress)
94
+ if (!d.employeeAddress)
94
95
  throw new u("Home address creation failed");
95
- c = n.employeeAddress;
96
+ c = d.employeeAddress;
96
97
  } else {
97
- if (!e || !r)
98
+ if (!e || !s)
98
99
  throw new u(
99
100
  "Cannot update home address: no matching address on file"
100
101
  );
101
- const n = await g.mutateAsync({
102
+ const d = await A.mutateAsync({
102
103
  request: {
103
104
  homeAddressUuid: e.uuid,
104
105
  requestBody: {
@@ -109,54 +110,54 @@ function Ee({
109
110
  state: t.state,
110
111
  zip: t.zip,
111
112
  courtesyWithholding: t.courtesyWithholding,
112
- effectiveDate: b
113
+ effectiveDate: E
113
114
  }
114
115
  }
115
116
  });
116
- if (!n.employeeAddress)
117
+ if (!d.employeeAddress)
117
118
  throw new u("Home address update failed");
118
- c = n.employeeAddress;
119
+ c = d.employeeAddress;
119
120
  }
120
- A = {
121
- mode: d ? "create" : "update",
121
+ F = {
122
+ mode: m ? "create" : "update",
122
123
  data: c
123
124
  };
124
- }), H();
125
+ }), b();
125
126
  },
126
127
  () => {
127
- H();
128
+ b();
128
129
  }
129
130
  )();
130
- }), A;
131
- }, k = te(a);
132
- return r && !e ? { isLoading: !0, errorHandling: S } : {
131
+ }), F;
132
+ }, L = re(a);
133
+ return s && !e ? { isLoading: !0, errorHandling: H } : {
133
134
  isLoading: !1,
134
135
  data: {
135
136
  homeAddress: e ?? null
136
137
  },
137
138
  status: {
138
- isPending: C,
139
- mode: d ? "create" : "update"
139
+ isPending: q,
140
+ mode: m ? "create" : "update"
140
141
  },
141
- actions: { onSubmit: R },
142
- errorHandling: S,
142
+ actions: { onSubmit: O },
143
+ errorHandling: H,
143
144
  form: {
144
145
  Fields: {
145
- Street1: U,
146
- Street2: $,
147
- City: Y,
148
- State: X,
149
- Zip: N,
150
- CourtesyWithholding: J,
151
- EffectiveDate: i ? j : void 0
146
+ Street1: te,
147
+ Street2: ee,
148
+ City: U,
149
+ State: $,
150
+ Zip: Y,
151
+ CourtesyWithholding: X,
152
+ EffectiveDate: i ? N : void 0
152
153
  },
153
- fieldsMetadata: V,
154
- hookFormInternals: k,
155
- getFormSubmissionValues: se(a, v)
154
+ fieldsMetadata: k,
155
+ hookFormInternals: L,
156
+ getFormSubmissionValues: oe(a, h)
156
157
  }
157
158
  };
158
159
  }
159
160
  export {
160
- Ee as useHomeAddressForm
161
+ We as useHomeAddressForm
161
162
  };
162
163
  //# sourceMappingURL=useHomeAddressForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHomeAddressForm.js","sources":["../../../../../../src/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesRetrieveHomeAddress } from '@gusto/embedded-api/react-query/employeeAddressesRetrieveHomeAddress'\nimport { useEmployeeAddressesCreateMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreate'\nimport { useEmployeeAddressesUpdateMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdate'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport {\n createHomeAddressSchema,\n type HomeAddressOptionalFieldsToRequire,\n type HomeAddressFormData,\n type HomeAddressFormOutputs,\n} from './homeAddressSchema'\nimport {\n Street1Field,\n Street2Field,\n CityField,\n StateField,\n ZipField,\n CourtesyWithholdingField,\n EffectiveDateField,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { STATES_ABBR } from '@/shared/constants'\n\nexport type { HomeAddressOptionalFieldsToRequire } from './homeAddressSchema'\n\nexport interface HomeAddressSubmitOptions {\n employeeId?: string\n /** When omitted on update without an effective-date field, the row’s `effectiveDate` from the fetched address is used. */\n effectiveDate?: string\n}\n\nexport interface UseHomeAddressFormProps {\n employeeId: string\n /**\n * When set, loads that home address via GET `/v1/home_addresses/{uuid}` and updates it (PUT).\n * When omitted, the form is in create mode (POST).\n */\n homeAddressUuid?: string\n withEffectiveDateField?: boolean\n optionalFieldsToRequire?: HomeAddressOptionalFieldsToRequire\n defaultValues?: Partial<HomeAddressFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface HomeAddressFields {\n Street1: typeof Street1Field\n Street2: typeof Street2Field\n City: typeof CityField\n State: typeof StateField\n Zip: typeof ZipField\n CourtesyWithholding: typeof CourtesyWithholdingField\n EffectiveDate: typeof EffectiveDateField | undefined\n}\n\nexport interface UseHomeAddressFormReady extends BaseFormHookReady<\n FieldsMetadata,\n HomeAddressFormData,\n HomeAddressFields\n> {\n data: {\n /** The address row loaded for update; `null` in create mode. */\n homeAddress: EmployeeAddress | null\n }\n status: { isPending: boolean; mode: 'create' | 'update' }\n actions: {\n onSubmit: (\n options?: HomeAddressSubmitOptions,\n ) => Promise<HookSubmitResult<EmployeeAddress> | undefined>\n }\n}\n\nexport function useHomeAddressForm({\n employeeId,\n homeAddressUuid,\n withEffectiveDateField = true,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseHomeAddressFormProps): HookLoadingResult | UseHomeAddressFormReady {\n const retrieveHomeAddressQuery = useEmployeeAddressesRetrieveHomeAddress(\n { homeAddressUuid: homeAddressUuid ?? '' },\n { enabled: !!homeAddressUuid },\n )\n\n const isCreateMode = !homeAddressUuid\n\n const fetchedHomeAddress = homeAddressUuid\n ? retrieveHomeAddressQuery.data?.employeeAddress\n : undefined\n\n const schemaMode = isCreateMode ? 'create' : 'update'\n\n const [schema, metadataConfig] = useMemo(\n () =>\n createHomeAddressSchema({\n mode: schemaMode,\n optionalFieldsToRequire,\n withEffectiveDateField,\n }),\n [schemaMode, optionalFieldsToRequire, withEffectiveDateField],\n )\n\n const resolvedDefaults: HomeAddressFormData = useMemo(\n () => ({\n street1: fetchedHomeAddress?.street1 ?? partnerDefaults?.street1 ?? '',\n street2: fetchedHomeAddress?.street2 ?? partnerDefaults?.street2 ?? '',\n city: fetchedHomeAddress?.city ?? partnerDefaults?.city ?? '',\n state: fetchedHomeAddress?.state ?? partnerDefaults?.state ?? '',\n zip: fetchedHomeAddress?.zip ?? partnerDefaults?.zip ?? '',\n courtesyWithholding:\n fetchedHomeAddress?.courtesyWithholding ?? partnerDefaults?.courtesyWithholding ?? false,\n effectiveDate:\n fetchedHomeAddress?.effectiveDate?.toString() ?? partnerDefaults?.effectiveDate ?? '',\n }),\n [fetchedHomeAddress, partnerDefaults],\n )\n\n const formMethods = useForm<HomeAddressFormData, unknown, HomeAddressFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const createHomeAddressMutation = useEmployeeAddressesCreateMutation()\n const updateHomeAddressMutation = useEmployeeAddressesUpdateMutation()\n\n const isPending = createHomeAddressMutation.isPending || updateHomeAddressMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('HomeAddressForm')\n\n const queriesForErrors = homeAddressUuid ? [retrieveHomeAddressQuery] : []\n const errorHandling = composeErrorHandler(queriesForErrors, { submitError, setSubmitError })\n\n const stateOptions = STATES_ABBR.map(abbr => ({\n value: abbr,\n label: abbr,\n }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n street1: baseMetadata.street1,\n street2: baseMetadata.street2,\n city: baseMetadata.city,\n state: withOptions(baseMetadata.state, stateOptions, STATES_ABBR),\n zip: baseMetadata.zip,\n courtesyWithholding: baseMetadata.courtesyWithholding,\n effectiveDate: baseMetadata.effectiveDate,\n }\n\n const onSubmit = async (\n options?: HomeAddressSubmitOptions,\n ): Promise<HookSubmitResult<EmployeeAddress> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeAddress> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: HomeAddressFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedEmployeeId = options?.employeeId ?? employeeId\n\n const resolvedEffectiveDate =\n withEffectiveDateField && payload.effectiveDate\n ? payload.effectiveDate\n : (options?.effectiveDate ??\n (!withEffectiveDateField && !isCreateMode\n ? fetchedHomeAddress?.effectiveDate?.toString()\n : undefined))\n\n const effectiveDateParam = resolvedEffectiveDate\n ? new RFCDate(new Date(resolvedEffectiveDate))\n : undefined\n\n let updatedHomeAddress: EmployeeAddress\n\n if (isCreateMode) {\n const result = await createHomeAddressMutation.mutateAsync({\n request: {\n employeeId: resolvedEmployeeId,\n requestBody: {\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n courtesyWithholding: payload.courtesyWithholding,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeAddress) {\n throw new SDKInternalError('Home address creation failed')\n }\n\n updatedHomeAddress = result.employeeAddress\n } else {\n if (!fetchedHomeAddress || !homeAddressUuid) {\n throw new SDKInternalError(\n 'Cannot update home address: no matching address on file',\n )\n }\n\n const result = await updateHomeAddressMutation.mutateAsync({\n request: {\n homeAddressUuid: fetchedHomeAddress.uuid,\n requestBody: {\n version: fetchedHomeAddress.version,\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n courtesyWithholding: payload.courtesyWithholding,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeAddress) {\n throw new SDKInternalError('Home address update failed')\n }\n\n updatedHomeAddress = result.employeeAddress\n }\n\n submitResult = {\n mode: isCreateMode ? 'create' : 'update',\n data: updatedHomeAddress,\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (homeAddressUuid && !fetchedHomeAddress) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n homeAddress: fetchedHomeAddress ?? null,\n },\n status: {\n isPending,\n mode: isCreateMode ? ('create' as const) : ('update' as const),\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Street1: Street1Field,\n Street2: Street2Field,\n City: CityField,\n State: StateField,\n Zip: ZipField,\n CourtesyWithholding: CourtesyWithholdingField,\n EffectiveDate: withEffectiveDateField ? EffectiveDateField : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UseHomeAddressFormResult = HookLoadingResult | UseHomeAddressFormReady\nexport type HomeAddressFieldsMetadata = UseHomeAddressFormReady['form']['fieldsMetadata']\nexport type HomeAddressFormFields = UseHomeAddressFormReady['form']['Fields']\n"],"names":["useHomeAddressForm","employeeId","homeAddressUuid","withEffectiveDateField","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","retrieveHomeAddressQuery","useEmployeeAddressesRetrieveHomeAddress","isCreateMode","fetchedHomeAddress","schemaMode","schema","metadataConfig","useMemo","createHomeAddressSchema","resolvedDefaults","formMethods","useForm","zodResolver","createHomeAddressMutation","useEmployeeAddressesCreateMutation","updateHomeAddressMutation","useEmployeeAddressesUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","stateOptions","STATES_ABBR","abbr","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","options","submitResult","resolve","data","payload","resolvedEmployeeId","resolvedEffectiveDate","effectiveDateParam","RFCDate","updatedHomeAddress","result","SDKInternalError","hookFormInternals","useHookFormInternals","Street1Field","Street2Field","CityField","StateField","ZipField","CourtesyWithholdingField","EffectiveDateField","createGetFormSubmissionValues"],"mappings":"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"}
1
+ {"version":3,"file":"useHomeAddressForm.js","sources":["../../../../../../src/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesRetrieveHomeAddress } from '@gusto/embedded-api/react-query/employeeAddressesRetrieveHomeAddress'\nimport { useEmployeeAddressesCreateMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreate'\nimport { useEmployeeAddressesUpdateMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdate'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport {\n createHomeAddressSchema,\n type HomeAddressOptionalFieldsToRequire,\n type HomeAddressFormData,\n type HomeAddressFormOutputs,\n} from './homeAddressSchema'\nimport {\n Street1Field,\n Street2Field,\n CityField,\n StateField,\n ZipField,\n CourtesyWithholdingField,\n EffectiveDateField,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { STATES_ABBR } from '@/shared/constants'\n\nexport type { HomeAddressOptionalFieldsToRequire } from './homeAddressSchema'\n\nexport interface HomeAddressSubmitOptions {\n employeeId?: string\n /** When omitted on update without an effective-date field, the row’s `effectiveDate` from the fetched address is used. */\n effectiveDate?: string\n}\n\nexport interface UseHomeAddressFormProps {\n employeeId: string\n /**\n * When set, loads that home address via GET `/v1/home_addresses/{uuid}` and updates it (PUT).\n * When omitted, the form is in create mode (POST).\n */\n homeAddressUuid?: string\n /**\n * Pre-loaded address matching `homeAddressUuid`. When supplied, the form uses it directly\n * instead of issuing a GET — useful when the parent already has the row from a list query.\n */\n initialAddress?: EmployeeAddress\n withEffectiveDateField?: boolean\n optionalFieldsToRequire?: HomeAddressOptionalFieldsToRequire\n defaultValues?: Partial<HomeAddressFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface HomeAddressFields {\n Street1: typeof Street1Field\n Street2: typeof Street2Field\n City: typeof CityField\n State: typeof StateField\n Zip: typeof ZipField\n CourtesyWithholding: typeof CourtesyWithholdingField\n EffectiveDate: typeof EffectiveDateField | undefined\n}\n\nexport interface UseHomeAddressFormReady extends BaseFormHookReady<\n FieldsMetadata,\n HomeAddressFormData,\n HomeAddressFields\n> {\n data: {\n /** The address row loaded for update; `null` in create mode. */\n homeAddress: EmployeeAddress | null\n }\n status: { isPending: boolean; mode: 'create' | 'update' }\n actions: {\n onSubmit: (\n options?: HomeAddressSubmitOptions,\n ) => Promise<HookSubmitResult<EmployeeAddress> | undefined>\n }\n}\n\nexport function useHomeAddressForm({\n employeeId,\n homeAddressUuid,\n initialAddress,\n withEffectiveDateField = true,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseHomeAddressFormProps): HookLoadingResult | UseHomeAddressFormReady {\n const hasInitialAddressMatch = !!homeAddressUuid && initialAddress?.uuid === homeAddressUuid\n\n const retrieveHomeAddressQuery = useEmployeeAddressesRetrieveHomeAddress(\n { homeAddressUuid: homeAddressUuid ?? '' },\n { enabled: !!homeAddressUuid && !hasInitialAddressMatch },\n )\n\n const isCreateMode = !homeAddressUuid\n\n const fetchedHomeAddress = homeAddressUuid\n ? hasInitialAddressMatch\n ? initialAddress\n : retrieveHomeAddressQuery.data?.employeeAddress\n : undefined\n\n const schemaMode = isCreateMode ? 'create' : 'update'\n\n const [schema, metadataConfig] = useMemo(\n () =>\n createHomeAddressSchema({\n mode: schemaMode,\n optionalFieldsToRequire,\n withEffectiveDateField,\n }),\n [schemaMode, optionalFieldsToRequire, withEffectiveDateField],\n )\n\n const resolvedDefaults: HomeAddressFormData = useMemo(\n () => ({\n street1: fetchedHomeAddress?.street1 ?? partnerDefaults?.street1 ?? '',\n street2: fetchedHomeAddress?.street2 ?? partnerDefaults?.street2 ?? '',\n city: fetchedHomeAddress?.city ?? partnerDefaults?.city ?? '',\n state: fetchedHomeAddress?.state ?? partnerDefaults?.state ?? '',\n zip: fetchedHomeAddress?.zip ?? partnerDefaults?.zip ?? '',\n courtesyWithholding:\n fetchedHomeAddress?.courtesyWithholding ?? partnerDefaults?.courtesyWithholding ?? false,\n effectiveDate:\n fetchedHomeAddress?.effectiveDate?.toString() ?? partnerDefaults?.effectiveDate ?? '',\n }),\n [fetchedHomeAddress, partnerDefaults],\n )\n\n const formMethods = useForm<HomeAddressFormData, unknown, HomeAddressFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const createHomeAddressMutation = useEmployeeAddressesCreateMutation()\n const updateHomeAddressMutation = useEmployeeAddressesUpdateMutation()\n\n const isPending = createHomeAddressMutation.isPending || updateHomeAddressMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('HomeAddressForm')\n\n const queriesForErrors = homeAddressUuid ? [retrieveHomeAddressQuery] : []\n const errorHandling = composeErrorHandler(queriesForErrors, { submitError, setSubmitError })\n\n const stateOptions = STATES_ABBR.map(abbr => ({\n value: abbr,\n label: abbr,\n }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n street1: baseMetadata.street1,\n street2: baseMetadata.street2,\n city: baseMetadata.city,\n state: withOptions(baseMetadata.state, stateOptions, STATES_ABBR),\n zip: baseMetadata.zip,\n courtesyWithholding: baseMetadata.courtesyWithholding,\n effectiveDate: baseMetadata.effectiveDate,\n }\n\n const onSubmit = async (\n options?: HomeAddressSubmitOptions,\n ): Promise<HookSubmitResult<EmployeeAddress> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeAddress> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: HomeAddressFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedEmployeeId = options?.employeeId ?? employeeId\n\n const resolvedEffectiveDate =\n withEffectiveDateField && payload.effectiveDate\n ? payload.effectiveDate\n : (options?.effectiveDate ??\n (!withEffectiveDateField && !isCreateMode\n ? fetchedHomeAddress?.effectiveDate?.toString()\n : undefined))\n\n const effectiveDateParam = resolvedEffectiveDate\n ? new RFCDate(new Date(resolvedEffectiveDate))\n : undefined\n\n let updatedHomeAddress: EmployeeAddress\n\n if (isCreateMode) {\n const result = await createHomeAddressMutation.mutateAsync({\n request: {\n employeeId: resolvedEmployeeId,\n requestBody: {\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n courtesyWithholding: payload.courtesyWithholding,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeAddress) {\n throw new SDKInternalError('Home address creation failed')\n }\n\n updatedHomeAddress = result.employeeAddress\n } else {\n if (!fetchedHomeAddress || !homeAddressUuid) {\n throw new SDKInternalError(\n 'Cannot update home address: no matching address on file',\n )\n }\n\n const result = await updateHomeAddressMutation.mutateAsync({\n request: {\n homeAddressUuid: fetchedHomeAddress.uuid,\n requestBody: {\n version: fetchedHomeAddress.version,\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n courtesyWithholding: payload.courtesyWithholding,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeAddress) {\n throw new SDKInternalError('Home address update failed')\n }\n\n updatedHomeAddress = result.employeeAddress\n }\n\n submitResult = {\n mode: isCreateMode ? 'create' : 'update',\n data: updatedHomeAddress,\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (homeAddressUuid && !fetchedHomeAddress) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n homeAddress: fetchedHomeAddress ?? null,\n },\n status: {\n isPending,\n mode: isCreateMode ? ('create' as const) : ('update' as const),\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Street1: Street1Field,\n Street2: Street2Field,\n City: CityField,\n State: StateField,\n Zip: ZipField,\n CourtesyWithholding: CourtesyWithholdingField,\n EffectiveDate: withEffectiveDateField ? EffectiveDateField : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UseHomeAddressFormResult = HookLoadingResult | UseHomeAddressFormReady\nexport type HomeAddressFieldsMetadata = UseHomeAddressFormReady['form']['fieldsMetadata']\nexport type HomeAddressFormFields = UseHomeAddressFormReady['form']['Fields']\n"],"names":["useHomeAddressForm","employeeId","homeAddressUuid","initialAddress","withEffectiveDateField","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","hasInitialAddressMatch","retrieveHomeAddressQuery","useEmployeeAddressesRetrieveHomeAddress","isCreateMode","fetchedHomeAddress","schemaMode","schema","metadataConfig","useMemo","createHomeAddressSchema","resolvedDefaults","formMethods","useForm","zodResolver","createHomeAddressMutation","useEmployeeAddressesCreateMutation","updateHomeAddressMutation","useEmployeeAddressesUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","stateOptions","STATES_ABBR","abbr","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","options","submitResult","resolve","data","payload","resolvedEmployeeId","resolvedEffectiveDate","effectiveDateParam","RFCDate","updatedHomeAddress","result","SDKInternalError","hookFormInternals","useHookFormInternals","Street1Field","Street2Field","CityField","StateField","ZipField","CourtesyWithholdingField","EffectiveDateField","createGetFormSubmissionValues"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { SelectHookField as t } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
3
- import { DatePickerHookField as i } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
2
+ import { DatePickerHookField as t } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
3
+ import { SelectHookField as i } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
4
4
  function c(e) {
5
- return /* @__PURE__ */ o(t, { ...e, name: "locationUuid" });
5
+ return /* @__PURE__ */ o(i, { ...e, name: "locationUuid" });
6
6
  }
7
7
  function m(e) {
8
- return /* @__PURE__ */ o(i, { ...e, name: "effectiveDate" });
8
+ return /* @__PURE__ */ o(t, { ...e, name: "effectiveDate" });
9
9
  }
10
10
  export {
11
11
  m as EffectiveDateField,
@@ -22,6 +22,11 @@ export interface UseWorkAddressFormProps {
22
22
  * When omitted, the form is in create mode (POST).
23
23
  */
24
24
  workAddressUuid?: string;
25
+ /**
26
+ * Pre-loaded address matching `workAddressUuid`. When supplied, the form uses it directly
27
+ * instead of issuing a GET — useful when the parent already has the row from a list query.
28
+ */
29
+ initialAddress?: EmployeeWorkAddress;
25
30
  withEffectiveDateField?: boolean;
26
31
  optionalFieldsToRequire?: WorkAddressOptionalFieldsToRequire;
27
32
  defaultValues?: Partial<WorkAddressFormData>;
@@ -46,7 +51,7 @@ export interface UseWorkAddressFormReady extends BaseFormHookReady<FieldsMetadat
46
51
  onSubmit: (callbacks?: WorkAddressSubmitCallbacks, options?: WorkAddressSubmitOptions) => Promise<HookSubmitResult<EmployeeWorkAddress> | undefined>;
47
52
  };
48
53
  }
49
- export declare function useWorkAddressForm({ companyId, employeeId, workAddressUuid, withEffectiveDateField, optionalFieldsToRequire, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseWorkAddressFormProps): HookLoadingResult | UseWorkAddressFormReady;
54
+ export declare function useWorkAddressForm({ companyId, employeeId, workAddressUuid, initialAddress, withEffectiveDateField, optionalFieldsToRequire, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseWorkAddressFormProps): HookLoadingResult | UseWorkAddressFormReady;
50
55
  export type UseWorkAddressFormResult = HookLoadingResult | UseWorkAddressFormReady;
51
56
  export type WorkAddressFieldsMetadata = UseWorkAddressFormReady['form']['fieldsMetadata'];
52
57
  export type WorkAddressFormFields = UseWorkAddressFormReady['form']['Fields'];