@gusto/embedded-react-sdk 0.57.2 → 0.58.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 (425) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/dist/components/Common/DataView/DataCards/DataCards.js +98 -66
  3. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  4. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +11 -9
  5. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
  6. package/dist/components/Common/DataView/DataTable/DataTable.js +86 -75
  7. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  8. package/dist/components/Common/DataView/DataView.js.map +1 -1
  9. package/dist/components/Common/DataView/getSortControls.js +22 -0
  10. package/dist/components/Common/DataView/getSortControls.js.map +1 -0
  11. package/dist/components/Common/DataView/useDataView.js +30 -24
  12. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  13. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +32 -32
  14. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
  15. package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
  16. package/dist/components/Common/UI/Table/Table.js +65 -25
  17. package/dist/components/Common/UI/Table/Table.js.map +1 -1
  18. package/dist/components/Common/UI/Table/Table.module.scss.js +8 -4
  19. package/dist/components/Common/UI/Table/Table.module.scss.js.map +1 -1
  20. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  21. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  22. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  23. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  24. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  25. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  26. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  27. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  28. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  29. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  30. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  31. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  32. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  33. package/dist/components/Company/Industry/Context.js +6 -7
  34. package/dist/components/Company/Industry/Context.js.map +1 -1
  35. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  36. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  37. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  38. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  39. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  40. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  41. package/dist/components/Company/PaySchedule/PaySchedule.js +30 -45
  42. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  43. package/dist/components/Company/PaySchedule/PayScheduleComponents.js +11 -12
  44. package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
  45. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.js.map +1 -1
  46. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.js.map +1 -1
  47. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js +34 -14
  48. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js.map +1 -1
  49. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js +106 -0
  50. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js.map +1 -0
  51. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js +136 -0
  52. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js.map +1 -0
  53. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js +38 -20
  54. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js.map +1 -1
  55. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js +78 -44
  56. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js.map +1 -1
  57. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js +45 -37
  58. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js.map +1 -1
  59. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js +244 -95
  60. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js.map +1 -1
  61. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js +22 -0
  62. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js.map +1 -0
  63. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js +13 -0
  64. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js.map +1 -0
  65. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js +48 -43
  66. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js.map +1 -1
  67. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.js.map +1 -1
  68. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js +57 -0
  69. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js.map +1 -0
  70. package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -1
  71. package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js +83 -0
  72. package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js.map +1 -0
  73. package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js +84 -0
  74. package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js.map +1 -0
  75. package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js.map +1 -1
  76. package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js +109 -39
  77. package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js.map +1 -1
  78. package/dist/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.js.map +1 -1
  79. package/dist/components/Company/PaySchedule/management/payScheduleManagementStateMachine.js.map +1 -1
  80. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
  81. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
  82. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +78 -83
  83. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  84. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  85. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  86. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  87. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  88. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -4
  89. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  90. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +5 -5
  91. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -1
  92. package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js +1 -1
  93. package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js.map +1 -1
  94. package/dist/components/Contractor/Compensation/management/CompensationEditForm.js +45 -54
  95. package/dist/components/Contractor/Compensation/management/CompensationEditForm.js.map +1 -1
  96. package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js +4 -4
  97. package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js.map +1 -1
  98. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js +17 -22
  99. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js.map +1 -1
  100. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js +3 -3
  101. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js.map +1 -1
  102. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +1 -0
  103. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
  104. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +122 -113
  105. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
  106. package/dist/components/Contractor/ContractorList/shared/useContractorList.js +63 -54
  107. package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -1
  108. package/dist/components/Contractor/Dashboard/Dashboard.js +20 -20
  109. package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
  110. package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js +10 -10
  111. package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js.map +1 -1
  112. package/dist/components/Contractor/Landing/Landing.js +43 -39
  113. package/dist/components/Contractor/Landing/Landing.js.map +1 -1
  114. package/dist/components/Contractor/NewHireReport/NewHireReport.js +3 -3
  115. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  116. package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js +39 -48
  117. package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
  118. package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +1 -1
  119. package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
  120. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +10 -10
  121. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  122. package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +4 -4
  123. package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
  124. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +8 -8
  125. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  126. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +5 -5
  127. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
  128. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +3 -3
  129. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  130. package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js +76 -69
  131. package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js.map +1 -1
  132. package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js +1 -1
  133. package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js.map +1 -1
  134. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +27 -29
  135. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
  136. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +15 -13
  137. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
  138. package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js +1 -1
  139. package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js.map +1 -1
  140. package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js +2 -9
  141. package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
  142. package/dist/components/Contractor/Submit/Submit.js +18 -18
  143. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  144. package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js +6 -6
  145. package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js.map +1 -1
  146. package/dist/components/Contractor/shared/hourlyRate.js +14 -0
  147. package/dist/components/Contractor/shared/hourlyRate.js.map +1 -0
  148. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js +63 -63
  149. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  150. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +25 -25
  151. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  152. package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js +15 -15
  153. package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js.map +1 -1
  154. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +1 -1
  155. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
  156. package/dist/components/Employee/Dashboard/Dashboard.js +25 -25
  157. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  158. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  159. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  160. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +7 -7
  161. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
  162. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +1 -1
  163. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  164. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +6 -6
  165. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
  166. package/dist/components/Employee/Landing/Landing.js +37 -33
  167. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  168. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +27 -27
  169. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  170. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +65 -74
  171. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
  172. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +6 -6
  173. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
  174. package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js +1 -1
  175. package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js.map +1 -1
  176. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js +8 -15
  177. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
  178. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +11 -11
  179. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  180. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +12 -12
  181. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
  182. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +26 -26
  183. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
  184. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +16 -16
  185. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  186. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  187. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  188. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +84 -82
  189. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  190. package/dist/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.js +8 -0
  191. package/dist/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.js.map +1 -0
  192. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +97 -92
  193. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  194. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +1 -1
  195. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  196. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +18 -18
  197. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  198. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +146 -134
  199. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  200. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js +14 -12
  201. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js.map +1 -1
  202. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +34 -33
  203. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  204. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +49 -48
  205. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
  206. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +1 -1
  207. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
  208. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  209. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +0 -4
  210. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  211. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  212. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js +51 -38
  213. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  214. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +121 -102
  215. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  216. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  217. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +6 -6
  218. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  219. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  220. package/dist/components/Payroll/PayrollList/PayrollList.js +79 -74
  221. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  222. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +9 -9
  223. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  224. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +92 -83
  225. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  226. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  227. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +23 -27
  228. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  229. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +82 -75
  230. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
  231. package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.js +416 -0
  232. package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.js.map +1 -0
  233. package/dist/components/Payroll/{UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js → RropPayrollEditEmployee/RropPayrollEditEmployee.module.scss.js} +1 -1
  234. package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.module.scss.js.map +1 -0
  235. package/dist/components/Payroll/TransitionConfiguration/TransitionConfiguration.js +97 -0
  236. package/dist/components/Payroll/TransitionConfiguration/TransitionConfiguration.js.map +1 -0
  237. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.js +106 -0
  238. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.js.map +1 -0
  239. package/dist/components/Payroll/{TransitionCreation/TransitionCreationPresentation.module.scss.js → TransitionConfiguration/TransitionConfigurationPresentation.module.scss.js} +1 -1
  240. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.module.scss.js.map +1 -0
  241. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.js +10 -0
  242. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.js.map +1 -0
  243. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +86 -64
  244. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
  245. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js +126 -77
  246. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
  247. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.module.scss.js +8 -0
  248. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.module.scss.js.map +1 -0
  249. package/dist/components/Payroll/helpers.js +1 -1
  250. package/dist/components/Payroll/helpers.js.map +1 -1
  251. package/dist/components/Payroll/index.js +16 -20
  252. package/dist/components/Payroll/index.js.map +1 -1
  253. package/dist/components/Payroll/payrollTypes.js +1 -1
  254. package/dist/components/Payroll/payrollTypes.js.map +1 -1
  255. package/dist/components/Payroll/usePreparedPayrollData.js +2 -3
  256. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  257. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +11 -14
  258. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
  259. package/dist/contexts/ApiProvider/ApiProvider.js +18 -17
  260. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  261. package/dist/contexts/ApiProvider/payScheduleCustomNameHook.js +31 -0
  262. package/dist/contexts/ApiProvider/payScheduleCustomNameHook.js.map +1 -0
  263. package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +1 -1
  264. package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -1
  265. package/dist/contexts/FeaturesProvider/FeaturesProvider.js +14 -0
  266. package/dist/contexts/FeaturesProvider/FeaturesProvider.js.map +1 -0
  267. package/dist/contexts/FeaturesProvider/useFeature.js +7 -0
  268. package/dist/contexts/FeaturesProvider/useFeature.js.map +1 -0
  269. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +32 -30
  270. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  271. package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
  272. package/dist/i18n/I18n.js +2 -3
  273. package/dist/i18n/I18n.js.map +1 -1
  274. package/dist/i18n/en/Company.Management.PaySchedule.json.js +31 -13
  275. package/dist/i18n/en/Company.Management.PaySchedule.json.js.map +1 -1
  276. package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js +20 -12
  277. package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js.map +1 -1
  278. package/dist/i18n/en/Contractor.Profile.json.js +1 -1
  279. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +29 -23
  280. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -1
  281. package/dist/i18n/en/Payroll.PayrollHistory.json.js +1 -1
  282. package/dist/i18n/en/Payroll.PayrollLanding.json.js +1 -1
  283. package/dist/i18n/en/Payroll.PayrollList.json.js +5 -5
  284. package/dist/i18n/en/{Payroll.UNSTABLE_PayrollEditEmployee.json.js → Payroll.RropPayrollEditEmployee.json.js} +42 -38
  285. package/dist/i18n/en/Payroll.RropPayrollEditEmployee.json.js.map +1 -0
  286. package/dist/i18n/en/Payroll.TransitionConfiguration.json.js +28 -0
  287. package/dist/i18n/en/Payroll.TransitionConfiguration.json.js.map +1 -0
  288. package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js +16 -12
  289. package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js.map +1 -1
  290. package/dist/i18n/en/common.json.js +1 -1
  291. package/dist/package.json.js +1 -1
  292. package/dist/partner-hook-utils/form/composeSubmitHandler.js +55 -48
  293. package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
  294. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +31 -29
  295. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  296. package/dist/shared/constants.js +7 -6
  297. package/dist/shared/constants.js.map +1 -1
  298. package/dist/src/components/Common/DataView/DataCards/DataCards.d.ts +3 -1
  299. package/dist/src/components/Common/DataView/DataTable/DataTable.d.ts +3 -1
  300. package/dist/src/components/Common/DataView/DataView.d.ts +2 -0
  301. package/dist/src/components/Common/DataView/getSortControls.d.ts +24 -0
  302. package/dist/src/components/Common/DataView/useDataView.d.ts +22 -1
  303. package/dist/src/components/Common/DateRangeFilter/DateRangeFilter.d.ts +2 -2
  304. package/dist/src/components/Common/OnboardingStatusBadge/index.d.ts +1 -1
  305. package/dist/src/components/Common/UI/Table/TableTypes.d.ts +71 -2
  306. package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +1 -9
  307. package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +0 -1
  308. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.d.ts +1 -1
  309. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.d.ts +1 -1
  310. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.d.ts +10 -3
  311. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.d.ts +21 -0
  312. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.d.ts +34 -0
  313. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.d.ts +9 -3
  314. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.d.ts +5 -1
  315. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.d.ts +10 -10
  316. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.d.ts +12 -4
  317. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.d.ts +19 -0
  318. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.d.ts +17 -0
  319. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.d.ts +1 -1
  320. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.d.ts +34 -0
  321. package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/usePayScheduleAssignment.d.ts +16 -3
  322. package/dist/src/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.d.ts +1 -1
  323. package/dist/src/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.d.ts +23 -0
  324. package/dist/src/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.d.ts +25 -0
  325. package/dist/src/components/Company/PaySchedule/management/PayScheduleManagementComponents.d.ts +1 -1
  326. package/dist/src/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.d.ts +1 -1
  327. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +1 -1
  328. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +1 -1
  329. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +4 -15
  330. package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +2 -2
  331. package/dist/src/components/Contractor/ContractorList/shared/index.d.ts +1 -1
  332. package/dist/src/components/Contractor/ContractorList/shared/useContractorList.d.ts +38 -0
  333. package/dist/src/components/Contractor/Landing/Landing.d.ts +5 -2
  334. package/dist/src/components/Contractor/shared/hourlyRate.d.ts +23 -0
  335. package/dist/src/components/Employee/Landing/Landing.d.ts +5 -2
  336. package/dist/src/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.d.ts +9 -0
  337. package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +1 -1
  338. package/dist/src/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +1 -1
  339. package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +1 -1
  340. package/dist/src/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +3 -1
  341. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +2 -0
  342. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.d.ts +2 -2
  343. package/dist/src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +8 -6
  344. package/dist/src/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +0 -8
  345. package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +5 -3
  346. package/dist/src/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -3
  347. package/dist/src/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +1 -1
  348. package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -1
  349. package/dist/src/components/Payroll/PayrollLanding/PayrollLanding.d.ts +18 -5
  350. package/dist/src/components/Payroll/PayrollList/PayrollList.d.ts +11 -5
  351. package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +2 -2
  352. package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -1
  353. package/dist/src/components/Payroll/{UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts → RropPayrollEditEmployee/RropPayrollEditEmployee.d.ts} +9 -5
  354. package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfiguration.d.ts +55 -0
  355. package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.d.ts +9 -0
  356. package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.d.ts +52 -0
  357. package/dist/src/components/Payroll/TransitionConfiguration/index.d.ts +2 -0
  358. package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +5 -2
  359. package/dist/src/components/Payroll/helpers.d.ts +2 -2
  360. package/dist/src/components/Payroll/index.d.ts +2 -6
  361. package/dist/src/components/Payroll/usePreparedPayrollData.d.ts +2 -2
  362. package/dist/src/contexts/ApiProvider/payScheduleCustomNameHook.d.ts +14 -0
  363. package/dist/src/contexts/ApiProvider/payScheduleCustomNameHook.test.d.ts +1 -0
  364. package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -1
  365. package/dist/src/contexts/FeaturesProvider/FeaturesProvider.d.ts +21 -0
  366. package/dist/src/contexts/FeaturesProvider/useFeature.d.ts +53 -0
  367. package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +3 -0
  368. package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +38 -10
  369. package/dist/src/contexts/index.d.ts +1 -0
  370. package/dist/src/i18n/en/common.json.d.ts +5 -1
  371. package/dist/src/i18n/types.d.ts +195 -70
  372. package/dist/src/models/external.d.ts +63 -48
  373. package/dist/src/partner-hook-utils/form/fields/RadioGroupHookField.d.ts +9 -7
  374. package/dist/src/shared/constants.d.ts +5 -3
  375. package/dist/src/test-utils/renderWithProviders.d.ts +2 -0
  376. package/dist/style.css +1 -1
  377. package/docs/guides/endpoint-inventory.json +57 -40
  378. package/package.json +23 -22
  379. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +0 -29
  380. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +0 -1
  381. package/dist/components/Payroll/Transition/TransitionFlow.js +0 -60
  382. package/dist/components/Payroll/Transition/TransitionFlow.js.map +0 -1
  383. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +0 -31
  384. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +0 -1
  385. package/dist/components/Payroll/Transition/transitionStateMachine.js +0 -49
  386. package/dist/components/Payroll/Transition/transitionStateMachine.js.map +0 -1
  387. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +0 -100
  388. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +0 -1
  389. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +0 -110
  390. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +0 -1
  391. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.module.scss.js.map +0 -1
  392. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js +0 -21
  393. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +0 -1
  394. package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js +0 -48
  395. package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js.map +0 -1
  396. package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js +0 -35
  397. package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js.map +0 -1
  398. package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js +0 -23
  399. package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js.map +0 -1
  400. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +0 -29
  401. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +0 -1
  402. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +0 -411
  403. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +0 -1
  404. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +0 -1
  405. package/dist/i18n/en/Payroll.Transition.json.js +0 -8
  406. package/dist/i18n/en/Payroll.Transition.json.js.map +0 -1
  407. package/dist/i18n/en/Payroll.TransitionCreation.json.js +0 -26
  408. package/dist/i18n/en/Payroll.TransitionCreation.json.js.map +0 -1
  409. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +0 -1
  410. package/dist/src/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +0 -7
  411. package/dist/src/components/Payroll/Transition/TransitionFlow.d.ts +0 -55
  412. package/dist/src/components/Payroll/Transition/TransitionFlowComponents.d.ts +0 -52
  413. package/dist/src/components/Payroll/Transition/index.d.ts +0 -2
  414. package/dist/src/components/Payroll/Transition/transitionStateMachine.d.ts +0 -29
  415. package/dist/src/components/Payroll/TransitionCreation/TransitionCreation.d.ts +0 -22
  416. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +0 -9
  417. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +0 -57
  418. package/dist/src/components/Payroll/TransitionCreation/index.d.ts +0 -2
  419. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayroll.d.ts +0 -55
  420. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollComponents.d.ts +0 -24
  421. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollTypes.d.ts +0 -23
  422. package/dist/src/components/Payroll/TransitionPayroll/index.d.ts +0 -2
  423. package/dist/src/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.d.ts +0 -15
  424. package/dist/src/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.d.ts +0 -28
  425. /package/dist/src/components/{Payroll/Transition/transitionStateMachine.test.d.ts → Common/DataView/getSortControls.test.d.ts} +0 -0
@@ -3,7 +3,7 @@ import { useEmployeeAddressesDeleteWorkAddressMutation as C } from "@gusto/embed
3
3
  import { useEmployeeAddressesGetWorkAddresses as G } from "@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses";
4
4
  import { useEmployeesGet as K } from "@gusto/embedded-api/react-query/employeesGet";
5
5
  import { useBaseSubmit as O } from "../../../Base/useBaseSubmit.js";
6
- import { useWorkAddressForm as h } from "../../Profile/shared/useWorkAddressForm/useWorkAddressForm.js";
6
+ import { useWorkAddressForm as L } from "../../Profile/shared/useWorkAddressForm/useWorkAddressForm.js";
7
7
  import { composeErrorHandler as Q } from "../../../../partner-hook-utils/composeErrorHandler.js";
8
8
  import { firstLastName as q } from "../../../../helpers/formattedStrings.js";
9
9
  import { normalizeToSDKError as x, SDKInternalError as d } from "../../../../types/sdkError.js";
@@ -26,38 +26,38 @@ function de({
26
26
  onEvent: n
27
27
  }) {
28
28
  const {
29
- baseSubmitHandler: D,
30
- error: F,
31
- setError: S
32
- } = O("Employee.Management.WorkAddress"), l = C(), [t, v] = H(void 0), o = K({ employeeId: e }, { enabled: !!e }), a = o.data?.employee?.companyUuid, f = G(
29
+ baseSubmitHandler: S,
30
+ error: D,
31
+ setError: F
32
+ } = O("Employee.Management.WorkAddress"), l = C(), [t, v] = H(void 0), o = K({ employeeId: e }, { enabled: !!e }), a = o.data?.employeeShow?.companyUuid, f = G(
33
33
  { employeeId: e },
34
34
  { enabled: !!e && !!a }
35
35
  ), r = f.data?.employeeWorkAddressesList, b = g(() => r?.length ? r.find((s) => s.active) ?? r[0] ?? null : null, [r]), E = t ?? b?.uuid, p = g(() => {
36
36
  if (!(!t || !r))
37
37
  return r.find((s) => s.uuid === t);
38
- }, [t, r]), M = E ? r?.find((s) => s.uuid === E) : void 0, R = p ? p.active !== !0 : !1, u = h({
38
+ }, [t, r]), M = E ? r?.find((s) => s.uuid === E) : void 0, R = p ? p.active !== !0 : !1, u = L({
39
39
  companyId: a,
40
40
  employeeId: e,
41
41
  workAddressUuid: E,
42
42
  initialAddress: M,
43
43
  withEffectiveDateField: R
44
- }), m = h({
44
+ }), m = L({
45
45
  companyId: a,
46
46
  employeeId: e,
47
47
  withEffectiveDateField: !0
48
- }), y = g(() => {
49
- const s = o.data?.employee;
48
+ }), w = g(() => {
49
+ const s = o.data?.employeeShow;
50
50
  return s ? q({
51
51
  first_name: s.firstName,
52
52
  last_name: s.lastName
53
53
  }).trim() : "";
54
- }, [o.data?.employee]), A = !!o.data?.employee && !a, i = Q(
54
+ }, [o.data?.employeeShow]), y = !!o.data?.employeeShow && !a, i = Q(
55
55
  [
56
56
  o,
57
57
  f,
58
58
  u,
59
59
  m,
60
- ...A ? [
60
+ ...y ? [
61
61
  {
62
62
  errorHandling: {
63
63
  errors: [
@@ -75,28 +75,28 @@ function de({
75
75
  }
76
76
  ] : []
77
77
  ],
78
- { submitError: F, setSubmitError: S }
79
- ), k = {
78
+ { submitError: D, setSubmitError: F }
79
+ ), A = {
80
80
  setEditTargetUuid: v,
81
81
  confirmDeleteWorkAddress: async (s) => {
82
82
  const _ = r?.find((c) => c.uuid === s) ?? null;
83
- let w = !1;
84
- return await D(
83
+ let k = !1;
84
+ return await S(
85
85
  { workAddressUuid: s, snapshot: _ },
86
- async ({ workAddressUuid: c, snapshot: W }) => {
87
- const L = r?.find((T) => T.uuid === c);
88
- if (!L)
86
+ async ({ workAddressUuid: c, snapshot: h }) => {
87
+ const W = r?.find((T) => T.uuid === c);
88
+ if (!W)
89
89
  throw new d("Work address not found");
90
- if (L.active === !0)
90
+ if (W.active === !0)
91
91
  throw new d("Cannot delete the active work address");
92
92
  await l.mutateAsync({
93
93
  request: { workAddressUuid: c }
94
- }), w = !0, W && n(z.EMPLOYEE_MANAGEMENT_WORK_ADDRESS_DELETED, W);
94
+ }), k = !0, h && n(z.EMPLOYEE_MANAGEMENT_WORK_ADDRESS_DELETED, h);
95
95
  }
96
- ), w;
96
+ ), k;
97
97
  }
98
98
  }, U = {
99
- employeeDisplayName: y,
99
+ employeeDisplayName: w,
100
100
  employeeWorkAddresses: r,
101
101
  editTargetUuid: t,
102
102
  editWorkAddressForm: u,
@@ -104,7 +104,7 @@ function de({
104
104
  };
105
105
  if (o.isLoading)
106
106
  return { isLoading: !0, errorHandling: i };
107
- if (o.isError || A)
107
+ if (o.isError || y)
108
108
  return {
109
109
  isLoading: !1,
110
110
  data: U,
@@ -113,7 +113,7 @@ function de({
113
113
  isEmployeeError: !0
114
114
  },
115
115
  errorHandling: i,
116
- actions: k
116
+ actions: A
117
117
  };
118
118
  if (f.isLoading)
119
119
  return { isLoading: !0, errorHandling: i };
@@ -123,7 +123,7 @@ function de({
123
123
  return {
124
124
  isLoading: !1,
125
125
  data: {
126
- employeeDisplayName: y,
126
+ employeeDisplayName: w,
127
127
  employeeWorkAddresses: r,
128
128
  editTargetUuid: t,
129
129
  editWorkAddressForm: P,
@@ -134,7 +134,7 @@ function de({
134
134
  isEmployeeError: !1
135
135
  },
136
136
  errorHandling: i,
137
- actions: k
137
+ actions: A
138
138
  };
139
139
  }
140
140
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkAddressManagement.js","sources":["../../../../../src/components/Employee/WorkAddress/management/useWorkAddressManagement.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useEmployeeAddressesDeleteWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesDeleteWorkAddress'\nimport { useEmployeeAddressesGetWorkAddresses } from '@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses'\nimport { useEmployeesGet } from '@gusto/embedded-api/react-query/employeesGet'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { useWorkAddressForm } from '@/components/Employee/Profile/shared/useWorkAddressForm'\nimport type {\n UseWorkAddressFormReady,\n UseWorkAddressFormResult,\n} from '@/components/Employee/Profile/shared/useWorkAddressForm'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseHookReady,\n HookErrorHandling,\n HookLoadingResult,\n} from '@/partner-hook-utils/types'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { normalizeToSDKError, SDKInternalError } from '@/types/sdkError'\nimport { componentEvents, type EventType } from '@/shared/constants'\n\n/**\n * Params for {@link useWorkAddressManagement}.\n *\n * @public\n */\nexport interface UseWorkAddressManagementParams {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when a work address is deleted. */\n onEvent: OnEventType<EventType, unknown>\n}\n\ninterface UseWorkAddressManagementDataPendingForms extends Record<string, unknown> {\n employeeDisplayName: string\n employeeWorkAddresses: EmployeeWorkAddress[] | undefined\n editTargetUuid: string | undefined\n editWorkAddressForm: UseWorkAddressFormResult\n changeWorkAddressForm: UseWorkAddressFormResult\n}\n\ninterface UseWorkAddressManagementDataReady extends Record<string, unknown> {\n employeeDisplayName: string\n employeeWorkAddresses: EmployeeWorkAddress[] | undefined\n editTargetUuid: string | undefined\n editWorkAddressForm: UseWorkAddressFormReady\n changeWorkAddressForm: UseWorkAddressFormReady\n}\n\ninterface UseWorkAddressManagementStatusEmployeeError extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: true\n}\n\ninterface UseWorkAddressManagementStatusSuccess extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: false\n}\n\ninterface UseWorkAddressManagementActions {\n setEditTargetUuid: (workAddressUuid: string | undefined) => void\n confirmDeleteWorkAddress: (workAddressUuid: string) => Promise<boolean>\n}\n\ninterface UseWorkAddressManagementReadyEmployeeError extends BaseHookReady<\n UseWorkAddressManagementDataPendingForms,\n UseWorkAddressManagementStatusEmployeeError\n> {\n actions: UseWorkAddressManagementActions\n}\n\n/**\n * Ready state of {@link useWorkAddressManagement} when the employee was fetched successfully.\n *\n * @public\n */\nexport interface UseWorkAddressManagementReadySuccess extends BaseHookReady<\n UseWorkAddressManagementDataReady,\n UseWorkAddressManagementStatusSuccess\n> {\n /** Actions for changing the edit target and confirming work address deletion. */\n actions: UseWorkAddressManagementActions\n}\n\ntype UseWorkAddressManagementReady =\n UseWorkAddressManagementReadyEmployeeError | UseWorkAddressManagementReadySuccess\n\n/**\n * Return type of {@link useWorkAddressManagement}.\n *\n * @public\n */\nexport type UseWorkAddressManagementResult = HookLoadingResult | UseWorkAddressManagementReady\n\n/**\n * Type guard for the success branch of {@link useWorkAddressManagement}.\n *\n * @param value - The hook result to narrow.\n * @returns `true` when the hook has finished loading and the employee fetch succeeded.\n * @public\n */\nexport function isUseWorkAddressManagementSuccess(\n value: UseWorkAddressManagementResult,\n): value is UseWorkAddressManagementReadySuccess {\n if (value.isLoading) {\n return false\n }\n return !value.status.isEmployeeError\n}\n\nfunction workAddressFormsReady(\n editWorkAddressForm: UseWorkAddressFormResult,\n changeWorkAddressForm: UseWorkAddressFormResult,\n): Pick<UseWorkAddressManagementDataReady, 'editWorkAddressForm' | 'changeWorkAddressForm'> {\n if (editWorkAddressForm.isLoading) {\n throw new SDKInternalError('Edit work address form is still loading')\n }\n if (changeWorkAddressForm.isLoading) {\n throw new SDKInternalError('Change work address form is still loading')\n }\n return {\n editWorkAddressForm,\n changeWorkAddressForm,\n }\n}\n\n/**\n * Headless hook for managing an employee's work addresses.\n *\n * @remarks\n * Fetches the employee and their work addresses, exposes edit and change form hooks\n * for the address modal, and provides an action to delete a non-active address.\n * Use {@link isUseWorkAddressManagementSuccess} to narrow the ready state when the\n * employee fetch succeeded.\n *\n * @param params - {@link UseWorkAddressManagementParams}\n * @returns A {@link HookLoadingResult} while loading, or the ready state once data is available.\n * @public\n */\nexport function useWorkAddressManagement({\n employeeId,\n onEvent,\n}: UseWorkAddressManagementParams): UseWorkAddressManagementResult {\n const {\n baseSubmitHandler,\n error: rootSubmitError,\n setError: setRootSubmitError,\n } = useBaseSubmit('Employee.Management.WorkAddress')\n const deleteWorkAddressMutation = useEmployeeAddressesDeleteWorkAddressMutation()\n const [editTargetUuid, setEditTargetUuid] = useState<string | undefined>(undefined)\n\n const employeeQuery = useEmployeesGet({ employeeId }, { enabled: !!employeeId })\n const companyId = employeeQuery.data?.employee?.companyUuid\n\n const workAddressesQuery = useEmployeeAddressesGetWorkAddresses(\n { employeeId },\n { enabled: !!employeeId && !!companyId },\n )\n\n const employeeWorkAddresses = workAddressesQuery.data?.employeeWorkAddressesList\n\n const currentWorkAddress = useMemo<EmployeeWorkAddress | null>(() => {\n if (!employeeWorkAddresses?.length) {\n return null\n }\n return employeeWorkAddresses.find(w => w.active) ?? employeeWorkAddresses[0] ?? null\n }, [employeeWorkAddresses])\n\n const workAddressUuidForEdit = editTargetUuid ?? currentWorkAddress?.uuid\n\n const editInactiveRow = useMemo(() => {\n if (!editTargetUuid || !employeeWorkAddresses) {\n return undefined\n }\n return employeeWorkAddresses.find(w => w.uuid === editTargetUuid)\n }, [editTargetUuid, employeeWorkAddresses])\n\n const editingWorkAddressRow = workAddressUuidForEdit\n ? employeeWorkAddresses?.find(w => w.uuid === workAddressUuidForEdit)\n : undefined\n\n const withEffectiveDateOnEdit = editInactiveRow ? editInactiveRow.active !== true : false\n\n const editWorkAddressForm = useWorkAddressForm({\n companyId,\n employeeId,\n workAddressUuid: workAddressUuidForEdit,\n initialAddress: editingWorkAddressRow,\n withEffectiveDateField: withEffectiveDateOnEdit,\n })\n\n const changeWorkAddressForm = useWorkAddressForm({\n companyId,\n employeeId,\n withEffectiveDateField: true,\n })\n\n const employeeDisplayName = useMemo(() => {\n const employee = employeeQuery.data?.employee\n if (!employee) {\n return ''\n }\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }).trim()\n }, [employeeQuery.data?.employee])\n\n const isMissingCompany = !!employeeQuery.data?.employee && !companyId\n\n const errorHandling: HookErrorHandling = composeErrorHandler(\n [\n employeeQuery,\n workAddressesQuery,\n editWorkAddressForm,\n changeWorkAddressForm,\n ...(isMissingCompany\n ? [\n {\n errorHandling: {\n errors: [\n normalizeToSDKError(\n new SDKInternalError(\n 'Employee record is missing companyUuid, which is required to load work address locations.',\n ),\n ),\n ],\n retryQueries: () => {},\n clearSubmitError: () => {},\n },\n },\n ]\n : []),\n ],\n { submitError: rootSubmitError, setSubmitError: setRootSubmitError },\n )\n\n const confirmDeleteWorkAddress = async (workAddressUuid: string): Promise<boolean> => {\n const snapshot = employeeWorkAddresses?.find(w => w.uuid === workAddressUuid) ?? null\n\n let succeeded = false\n await baseSubmitHandler(\n { workAddressUuid, snapshot },\n async ({ workAddressUuid: uuid, snapshot: snap }) => {\n const target = employeeWorkAddresses?.find(w => w.uuid === uuid)\n if (!target) {\n throw new SDKInternalError('Work address not found')\n }\n if (target.active === true) {\n throw new SDKInternalError('Cannot delete the active work address')\n }\n\n await deleteWorkAddressMutation.mutateAsync({\n request: { workAddressUuid: uuid },\n })\n succeeded = true\n if (snap) {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_WORK_ADDRESS_DELETED, snap)\n }\n },\n )\n return succeeded\n }\n\n const actions: UseWorkAddressManagementActions = {\n setEditTargetUuid,\n confirmDeleteWorkAddress,\n }\n\n const dataPayloadPendingForms: UseWorkAddressManagementDataPendingForms = {\n employeeDisplayName,\n employeeWorkAddresses,\n editTargetUuid,\n editWorkAddressForm,\n changeWorkAddressForm,\n }\n\n if (employeeQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n if (employeeQuery.isError || isMissingCompany) {\n return {\n isLoading: false,\n data: dataPayloadPendingForms,\n status: {\n isDeletePending: deleteWorkAddressMutation.isPending,\n isEmployeeError: true,\n },\n errorHandling,\n actions,\n }\n }\n\n if (workAddressesQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n const isFormsLoading = editWorkAddressForm.isLoading || changeWorkAddressForm.isLoading\n if (isFormsLoading) {\n return { isLoading: true, errorHandling }\n }\n\n const { editWorkAddressForm: editReady, changeWorkAddressForm: changeReady } =\n workAddressFormsReady(editWorkAddressForm, changeWorkAddressForm)\n\n const dataReady: UseWorkAddressManagementDataReady = {\n employeeDisplayName,\n employeeWorkAddresses,\n editTargetUuid,\n editWorkAddressForm: editReady,\n changeWorkAddressForm: changeReady,\n }\n\n return {\n isLoading: false,\n data: dataReady,\n status: {\n isDeletePending: deleteWorkAddressMutation.isPending,\n isEmployeeError: false,\n },\n errorHandling,\n actions,\n }\n}\n"],"names":["isUseWorkAddressManagementSuccess","value","workAddressFormsReady","editWorkAddressForm","changeWorkAddressForm","SDKInternalError","useWorkAddressManagement","employeeId","onEvent","baseSubmitHandler","rootSubmitError","setRootSubmitError","useBaseSubmit","deleteWorkAddressMutation","useEmployeeAddressesDeleteWorkAddressMutation","editTargetUuid","setEditTargetUuid","useState","employeeQuery","useEmployeesGet","companyId","workAddressesQuery","useEmployeeAddressesGetWorkAddresses","employeeWorkAddresses","currentWorkAddress","useMemo","w","workAddressUuidForEdit","editInactiveRow","editingWorkAddressRow","withEffectiveDateOnEdit","useWorkAddressForm","employeeDisplayName","employee","firstLastName","isMissingCompany","errorHandling","composeErrorHandler","normalizeToSDKError","actions","workAddressUuid","snapshot","succeeded","uuid","snap","target","componentEvents","dataPayloadPendingForms","editReady","changeReady"],"mappings":"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"}
1
+ {"version":3,"file":"useWorkAddressManagement.js","sources":["../../../../../src/components/Employee/WorkAddress/management/useWorkAddressManagement.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useEmployeeAddressesDeleteWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesDeleteWorkAddress'\nimport { useEmployeeAddressesGetWorkAddresses } from '@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses'\nimport { useEmployeesGet } from '@gusto/embedded-api/react-query/employeesGet'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { useWorkAddressForm } from '@/components/Employee/Profile/shared/useWorkAddressForm'\nimport type {\n UseWorkAddressFormReady,\n UseWorkAddressFormResult,\n} from '@/components/Employee/Profile/shared/useWorkAddressForm'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseHookReady,\n HookErrorHandling,\n HookLoadingResult,\n} from '@/partner-hook-utils/types'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { normalizeToSDKError, SDKInternalError } from '@/types/sdkError'\nimport { componentEvents, type EventType } from '@/shared/constants'\n\n/**\n * Params for {@link useWorkAddressManagement}.\n *\n * @public\n */\nexport interface UseWorkAddressManagementParams {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when a work address is deleted. */\n onEvent: OnEventType<EventType, unknown>\n}\n\ninterface UseWorkAddressManagementDataPendingForms extends Record<string, unknown> {\n employeeDisplayName: string\n employeeWorkAddresses: EmployeeWorkAddress[] | undefined\n editTargetUuid: string | undefined\n editWorkAddressForm: UseWorkAddressFormResult\n changeWorkAddressForm: UseWorkAddressFormResult\n}\n\ninterface UseWorkAddressManagementDataReady extends Record<string, unknown> {\n employeeDisplayName: string\n employeeWorkAddresses: EmployeeWorkAddress[] | undefined\n editTargetUuid: string | undefined\n editWorkAddressForm: UseWorkAddressFormReady\n changeWorkAddressForm: UseWorkAddressFormReady\n}\n\ninterface UseWorkAddressManagementStatusEmployeeError extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: true\n}\n\ninterface UseWorkAddressManagementStatusSuccess extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: false\n}\n\ninterface UseWorkAddressManagementActions {\n setEditTargetUuid: (workAddressUuid: string | undefined) => void\n confirmDeleteWorkAddress: (workAddressUuid: string) => Promise<boolean>\n}\n\ninterface UseWorkAddressManagementReadyEmployeeError extends BaseHookReady<\n UseWorkAddressManagementDataPendingForms,\n UseWorkAddressManagementStatusEmployeeError\n> {\n actions: UseWorkAddressManagementActions\n}\n\n/**\n * Ready state of {@link useWorkAddressManagement} when the employee was fetched successfully.\n *\n * @public\n */\nexport interface UseWorkAddressManagementReadySuccess extends BaseHookReady<\n UseWorkAddressManagementDataReady,\n UseWorkAddressManagementStatusSuccess\n> {\n /** Actions for changing the edit target and confirming work address deletion. */\n actions: UseWorkAddressManagementActions\n}\n\ntype UseWorkAddressManagementReady =\n UseWorkAddressManagementReadyEmployeeError | UseWorkAddressManagementReadySuccess\n\n/**\n * Return type of {@link useWorkAddressManagement}.\n *\n * @public\n */\nexport type UseWorkAddressManagementResult = HookLoadingResult | UseWorkAddressManagementReady\n\n/**\n * Type guard for the success branch of {@link useWorkAddressManagement}.\n *\n * @param value - The hook result to narrow.\n * @returns `true` when the hook has finished loading and the employee fetch succeeded.\n * @public\n */\nexport function isUseWorkAddressManagementSuccess(\n value: UseWorkAddressManagementResult,\n): value is UseWorkAddressManagementReadySuccess {\n if (value.isLoading) {\n return false\n }\n return !value.status.isEmployeeError\n}\n\nfunction workAddressFormsReady(\n editWorkAddressForm: UseWorkAddressFormResult,\n changeWorkAddressForm: UseWorkAddressFormResult,\n): Pick<UseWorkAddressManagementDataReady, 'editWorkAddressForm' | 'changeWorkAddressForm'> {\n if (editWorkAddressForm.isLoading) {\n throw new SDKInternalError('Edit work address form is still loading')\n }\n if (changeWorkAddressForm.isLoading) {\n throw new SDKInternalError('Change work address form is still loading')\n }\n return {\n editWorkAddressForm,\n changeWorkAddressForm,\n }\n}\n\n/**\n * Headless hook for managing an employee's work addresses.\n *\n * @remarks\n * Fetches the employee and their work addresses, exposes edit and change form hooks\n * for the address modal, and provides an action to delete a non-active address.\n * Use {@link isUseWorkAddressManagementSuccess} to narrow the ready state when the\n * employee fetch succeeded.\n *\n * @param params - {@link UseWorkAddressManagementParams}\n * @returns A {@link HookLoadingResult} while loading, or the ready state once data is available.\n * @public\n */\nexport function useWorkAddressManagement({\n employeeId,\n onEvent,\n}: UseWorkAddressManagementParams): UseWorkAddressManagementResult {\n const {\n baseSubmitHandler,\n error: rootSubmitError,\n setError: setRootSubmitError,\n } = useBaseSubmit('Employee.Management.WorkAddress')\n const deleteWorkAddressMutation = useEmployeeAddressesDeleteWorkAddressMutation()\n const [editTargetUuid, setEditTargetUuid] = useState<string | undefined>(undefined)\n\n const employeeQuery = useEmployeesGet({ employeeId }, { enabled: !!employeeId })\n const companyId = employeeQuery.data?.employeeShow?.companyUuid\n\n const workAddressesQuery = useEmployeeAddressesGetWorkAddresses(\n { employeeId },\n { enabled: !!employeeId && !!companyId },\n )\n\n const employeeWorkAddresses = workAddressesQuery.data?.employeeWorkAddressesList\n\n const currentWorkAddress = useMemo<EmployeeWorkAddress | null>(() => {\n if (!employeeWorkAddresses?.length) {\n return null\n }\n return employeeWorkAddresses.find(w => w.active) ?? employeeWorkAddresses[0] ?? null\n }, [employeeWorkAddresses])\n\n const workAddressUuidForEdit = editTargetUuid ?? currentWorkAddress?.uuid\n\n const editInactiveRow = useMemo(() => {\n if (!editTargetUuid || !employeeWorkAddresses) {\n return undefined\n }\n return employeeWorkAddresses.find(w => w.uuid === editTargetUuid)\n }, [editTargetUuid, employeeWorkAddresses])\n\n const editingWorkAddressRow = workAddressUuidForEdit\n ? employeeWorkAddresses?.find(w => w.uuid === workAddressUuidForEdit)\n : undefined\n\n const withEffectiveDateOnEdit = editInactiveRow ? editInactiveRow.active !== true : false\n\n const editWorkAddressForm = useWorkAddressForm({\n companyId,\n employeeId,\n workAddressUuid: workAddressUuidForEdit,\n initialAddress: editingWorkAddressRow,\n withEffectiveDateField: withEffectiveDateOnEdit,\n })\n\n const changeWorkAddressForm = useWorkAddressForm({\n companyId,\n employeeId,\n withEffectiveDateField: true,\n })\n\n const employeeDisplayName = useMemo(() => {\n const employee = employeeQuery.data?.employeeShow\n if (!employee) {\n return ''\n }\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }).trim()\n }, [employeeQuery.data?.employeeShow])\n\n const isMissingCompany = !!employeeQuery.data?.employeeShow && !companyId\n\n const errorHandling: HookErrorHandling = composeErrorHandler(\n [\n employeeQuery,\n workAddressesQuery,\n editWorkAddressForm,\n changeWorkAddressForm,\n ...(isMissingCompany\n ? [\n {\n errorHandling: {\n errors: [\n normalizeToSDKError(\n new SDKInternalError(\n 'Employee record is missing companyUuid, which is required to load work address locations.',\n ),\n ),\n ],\n retryQueries: () => {},\n clearSubmitError: () => {},\n },\n },\n ]\n : []),\n ],\n { submitError: rootSubmitError, setSubmitError: setRootSubmitError },\n )\n\n const confirmDeleteWorkAddress = async (workAddressUuid: string): Promise<boolean> => {\n const snapshot = employeeWorkAddresses?.find(w => w.uuid === workAddressUuid) ?? null\n\n let succeeded = false\n await baseSubmitHandler(\n { workAddressUuid, snapshot },\n async ({ workAddressUuid: uuid, snapshot: snap }) => {\n const target = employeeWorkAddresses?.find(w => w.uuid === uuid)\n if (!target) {\n throw new SDKInternalError('Work address not found')\n }\n if (target.active === true) {\n throw new SDKInternalError('Cannot delete the active work address')\n }\n\n await deleteWorkAddressMutation.mutateAsync({\n request: { workAddressUuid: uuid },\n })\n succeeded = true\n if (snap) {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_WORK_ADDRESS_DELETED, snap)\n }\n },\n )\n return succeeded\n }\n\n const actions: UseWorkAddressManagementActions = {\n setEditTargetUuid,\n confirmDeleteWorkAddress,\n }\n\n const dataPayloadPendingForms: UseWorkAddressManagementDataPendingForms = {\n employeeDisplayName,\n employeeWorkAddresses,\n editTargetUuid,\n editWorkAddressForm,\n changeWorkAddressForm,\n }\n\n if (employeeQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n if (employeeQuery.isError || isMissingCompany) {\n return {\n isLoading: false,\n data: dataPayloadPendingForms,\n status: {\n isDeletePending: deleteWorkAddressMutation.isPending,\n isEmployeeError: true,\n },\n errorHandling,\n actions,\n }\n }\n\n if (workAddressesQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n const isFormsLoading = editWorkAddressForm.isLoading || changeWorkAddressForm.isLoading\n if (isFormsLoading) {\n return { isLoading: true, errorHandling }\n }\n\n const { editWorkAddressForm: editReady, changeWorkAddressForm: changeReady } =\n workAddressFormsReady(editWorkAddressForm, changeWorkAddressForm)\n\n const dataReady: UseWorkAddressManagementDataReady = {\n employeeDisplayName,\n employeeWorkAddresses,\n editTargetUuid,\n editWorkAddressForm: editReady,\n changeWorkAddressForm: changeReady,\n }\n\n return {\n isLoading: false,\n data: dataReady,\n status: {\n isDeletePending: deleteWorkAddressMutation.isPending,\n isEmployeeError: false,\n },\n errorHandling,\n actions,\n }\n}\n"],"names":["isUseWorkAddressManagementSuccess","value","workAddressFormsReady","editWorkAddressForm","changeWorkAddressForm","SDKInternalError","useWorkAddressManagement","employeeId","onEvent","baseSubmitHandler","rootSubmitError","setRootSubmitError","useBaseSubmit","deleteWorkAddressMutation","useEmployeeAddressesDeleteWorkAddressMutation","editTargetUuid","setEditTargetUuid","useState","employeeQuery","useEmployeesGet","companyId","workAddressesQuery","useEmployeeAddressesGetWorkAddresses","employeeWorkAddresses","currentWorkAddress","useMemo","w","workAddressUuidForEdit","editInactiveRow","editingWorkAddressRow","withEffectiveDateOnEdit","useWorkAddressForm","employeeDisplayName","employee","firstLastName","isMissingCompany","errorHandling","composeErrorHandler","normalizeToSDKError","actions","workAddressUuid","snapshot","succeeded","uuid","snap","target","componentEvents","dataPayloadPendingForms","editReady","changeReady"],"mappings":"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"}
@@ -2,20 +2,20 @@ import { jsx as d } from "react/jsx-runtime";
2
2
  import { useEffect as O, useMemo as y, useState as b } from "react";
3
3
  import { usePaySchedulesGetUnprocessedTerminationPeriodsSuspense as g } from "@gusto/embedded-api/react-query/paySchedulesGetUnprocessedTerminationPeriods";
4
4
  import { usePayrollsCreateOffCycleMutation as T } from "@gusto/embedded-api/react-query/payrollsCreateOffCycle";
5
- import { OffCycleReason as K } from "@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls";
5
+ import { OffCycleReason as $ } from "@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls";
6
6
  import { RFCDate as D } from "@gusto/embedded-api/types/rfcdate";
7
- import { useTranslation as L } from "react-i18next";
8
- import { DismissalPayPeriodSelectionPresentation as M } from "./DismissalPayPeriodSelectionPresentation.js";
9
- import { BaseComponent as $ } from "../../../Base/Base.js";
7
+ import { useTranslation as K } from "react-i18next";
8
+ import { DismissalPayPeriodSelectionPresentation as L } from "./DismissalPayPeriodSelectionPresentation.js";
9
+ import { BaseComponent as M } from "../../../Base/Base.js";
10
10
  import { useBase as q } from "../../../Base/useBase.js";
11
11
  import { componentEvents as p } from "../../../../shared/constants.js";
12
12
  import { SDKInternalError as u } from "../../../../types/sdkError.js";
13
13
  import { useComponentDictionary as x, useI18n as N } from "../../../../i18n/I18n.js";
14
14
  import { formatPayPeriodRange as Y } from "../../../../helpers/dateFormatting.js";
15
15
  function te(t) {
16
- return /* @__PURE__ */ d($, { ...t, children: /* @__PURE__ */ d(j, { ...t }) });
16
+ return /* @__PURE__ */ d(M, { ...t, children: /* @__PURE__ */ d(j, { ...t }) });
17
17
  }
18
- const S = (t) => `${t.startDate}__${t.endDate}`;
18
+ const S = (t) => `${t.employeeUuid}__${t.startDate}__${t.endDate}`;
19
19
  function j({
20
20
  companyId: t,
21
21
  employeeId: r,
@@ -24,7 +24,7 @@ function j({
24
24
  className: C
25
25
  }) {
26
26
  x("Payroll.Dismissal", E), N("Payroll.Dismissal");
27
- const { t: i } = L("Payroll.Dismissal"), { onEvent: l, baseSubmitHandler: w } = q(), { data: f } = g({ companyId: t }), { mutateAsync: U, isPending: v } = T(), h = !!n && !!r;
27
+ const { t: i } = K("Payroll.Dismissal"), { onEvent: l, baseSubmitHandler: U } = q(), { data: f } = g({ companyId: t }), { mutateAsync: w, isPending: _ } = T(), v = !!n && !!r;
28
28
  O(() => {
29
29
  n && r && l(p.DISMISSAL_PAY_PERIOD_SELECTED, { payrollUuid: n });
30
30
  }, [n, r, l]);
@@ -36,19 +36,19 @@ function j({
36
36
  value: S(e),
37
37
  label: a
38
38
  };
39
- }), [m]), B = c.length === 1 ? c[0].value : void 0, [s, R] = b(B), _ = async () => {
40
- await w({ selectedPeriodKey: s }, async () => {
39
+ }), [m]), h = c.length === 1 ? c[0].value : void 0, [s, B] = b(h), R = async () => {
40
+ await U({ selectedPeriodKey: s }, async () => {
41
41
  if (s === void 0)
42
42
  throw new u(i("errors.noPayPeriodSelected"));
43
43
  const e = m.find((A) => S(A) === s);
44
44
  if (!e)
45
45
  throw new u(i("errors.invalidPayPeriod"));
46
- const o = r ?? e.employeeUuid, a = await U({
46
+ const o = r ?? e.employeeUuid, a = await w({
47
47
  request: {
48
48
  companyId: t,
49
49
  requestBody: {
50
50
  offCycle: !0,
51
- offCycleReason: K.DismissedEmployee,
51
+ offCycleReason: $.DismissedEmployee,
52
52
  startDate: new D(e.startDate),
53
53
  endDate: new D(e.endDate),
54
54
  employeeUuids: [o]
@@ -60,14 +60,14 @@ function j({
60
60
  l(p.DISMISSAL_PAY_PERIOD_SELECTED, { payrollUuid: P });
61
61
  });
62
62
  };
63
- return h ? null : /* @__PURE__ */ d(
64
- M,
63
+ return v ? null : /* @__PURE__ */ d(
64
+ L,
65
65
  {
66
66
  payPeriodOptions: c,
67
67
  selectedPeriodKey: s,
68
- onSelectPeriod: R,
69
- onSubmit: _,
70
- isPending: v,
68
+ onSelectPeriod: B,
69
+ onSubmit: R,
70
+ isPending: _,
71
71
  className: C
72
72
  }
73
73
  );
@@ -1 +1 @@
1
- {"version":3,"file":"DismissalPayPeriodSelection.js","sources":["../../../../../src/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { usePaySchedulesGetUnprocessedTerminationPeriodsSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetUnprocessedTerminationPeriods'\nimport { usePayrollsCreateOffCycleMutation } from '@gusto/embedded-api/react-query/payrollsCreateOffCycle'\nimport type { UnprocessedTerminationPayPeriod } from '@gusto/embedded-api/models/components/unprocessedterminationpayperiod'\nimport { OffCycleReason } from '@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useTranslation } from 'react-i18next'\nimport { DismissalPayPeriodSelectionPresentation } from './DismissalPayPeriodSelectionPresentation'\nimport { BaseComponent } from '@/components/Base/Base'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { formatPayPeriodRange } from '@/helpers/dateFormatting'\nimport type { SelectOption } from '@/components/Common/UI/Select/SelectTypes'\n\n/**\n * Props for {@link DismissalPayPeriodSelection}.\n *\n * @public\n */\nexport interface DismissalPayPeriodSelectionProps extends BaseComponentInterface<'Payroll.Dismissal'> {\n /** Identifier of the company the dismissal payroll belongs to. */\n companyId: string\n /** Identifier of the terminated employee. When provided, the available pay periods are filtered to this employee. */\n employeeId?: string\n /** Identifier of an existing dismissal payroll. When provided alongside `employeeId`, pay period selection is skipped and the component immediately emits the selection event. */\n payrollId?: string\n}\n\n/**\n * Pay period selection step for the dismissal payroll workflow.\n *\n * Lists the terminated employee's unprocessed termination pay periods and, on submit, creates an off-cycle payroll with the \"Dismissed employee\" reason for the selected period. When only one pay period is available it is pre-selected. When both `payrollId` and `employeeId` are supplied the step is skipped and the selection event fires immediately with the existing payroll.\n *\n * @remarks\n * Events:\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `dismissal/payPeriod/selected` | Fired after a pay period is selected and the off-cycle payroll has been created, or immediately when `payrollId` is supplied. | `{ payrollUuid: string }` |\n *\n * @param props - See {@link DismissalPayPeriodSelectionProps}.\n * @returns The rendered pay period selection step, or nothing while auto-advancing past selection.\n * @public\n */\nexport function DismissalPayPeriodSelection(props: DismissalPayPeriodSelectionProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\ntype RequiredPayPeriod = UnprocessedTerminationPayPeriod &\n Required<Pick<UnprocessedTerminationPayPeriod, 'startDate' | 'endDate' | 'employeeUuid'>>\n\nconst payPeriodKey = (period: RequiredPayPeriod) => `${period.startDate}__${period.endDate}`\n\nfunction Root({\n companyId,\n employeeId,\n payrollId,\n dictionary,\n className,\n}: DismissalPayPeriodSelectionProps) {\n useComponentDictionary('Payroll.Dismissal', dictionary)\n useI18n('Payroll.Dismissal')\n const { t } = useTranslation('Payroll.Dismissal')\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { data } = usePaySchedulesGetUnprocessedTerminationPeriodsSuspense({ companyId })\n const { mutateAsync: createOffCyclePayroll, isPending } = usePayrollsCreateOffCycleMutation()\n\n const shouldAutoAdvance = Boolean(payrollId) && Boolean(employeeId)\n\n useEffect(() => {\n if (payrollId && employeeId) {\n onEvent(componentEvents.DISMISSAL_PAY_PERIOD_SELECTED, { payrollUuid: payrollId })\n }\n }, [payrollId, employeeId, onEvent])\n\n const employeePayPeriods: RequiredPayPeriod[] = useMemo(() => {\n const allPeriods = data.unprocessedTerminationPayPeriods ?? []\n return allPeriods\n .filter(period => !employeeId || period.employeeUuid === employeeId)\n .filter(\n (period): period is RequiredPayPeriod =>\n Boolean(period.startDate) && Boolean(period.endDate) && Boolean(period.employeeUuid),\n )\n }, [data, employeeId])\n\n const payPeriodOptions: SelectOption[] = useMemo(() => {\n return employeePayPeriods.map(period => {\n const dateRange = formatPayPeriodRange(period.startDate, period.endDate)\n const label = period.employeeName ? `${dateRange} (${period.employeeName})` : dateRange\n return {\n value: payPeriodKey(period),\n label,\n }\n })\n }, [employeePayPeriods])\n\n const initialSelection = payPeriodOptions.length === 1 ? payPeriodOptions[0]!.value : undefined\n const [selectedPeriodKey, setSelectedPeriodKey] = useState(initialSelection)\n\n const handleSubmit = async () => {\n await baseSubmitHandler({ selectedPeriodKey }, async () => {\n if (selectedPeriodKey === undefined) {\n throw new SDKInternalError(t('errors.noPayPeriodSelected'))\n }\n\n const period = employeePayPeriods.find(p => payPeriodKey(p) === selectedPeriodKey)\n if (!period) {\n throw new SDKInternalError(t('errors.invalidPayPeriod'))\n }\n\n const resolvedEmployeeId = employeeId ?? period.employeeUuid\n\n const response = await createOffCyclePayroll({\n request: {\n companyId,\n requestBody: {\n offCycle: true,\n offCycleReason: OffCycleReason.DismissedEmployee,\n startDate: new RFCDate(period.startDate),\n endDate: new RFCDate(period.endDate),\n employeeUuids: [resolvedEmployeeId],\n },\n },\n })\n\n const payrollUuid =\n response.payrollUnprocessed?.payrollUuid ?? response.payrollUnprocessed?.uuid\n\n if (!payrollUuid) {\n throw new SDKInternalError(t('errors.missingPayrollId'))\n }\n\n onEvent(componentEvents.DISMISSAL_PAY_PERIOD_SELECTED, { payrollUuid })\n })\n }\n\n if (shouldAutoAdvance) {\n return null\n }\n\n return (\n <DismissalPayPeriodSelectionPresentation\n payPeriodOptions={payPeriodOptions}\n selectedPeriodKey={selectedPeriodKey}\n onSelectPeriod={setSelectedPeriodKey}\n onSubmit={handleSubmit}\n isPending={isPending}\n className={className}\n />\n )\n}\n"],"names":["DismissalPayPeriodSelection","props","jsx","BaseComponent","Root","payPeriodKey","period","companyId","employeeId","payrollId","dictionary","className","useComponentDictionary","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","data","usePaySchedulesGetUnprocessedTerminationPeriodsSuspense","createOffCyclePayroll","isPending","usePayrollsCreateOffCycleMutation","shouldAutoAdvance","useEffect","componentEvents","employeePayPeriods","useMemo","payPeriodOptions","dateRange","formatPayPeriodRange","label","initialSelection","selectedPeriodKey","setSelectedPeriodKey","useState","handleSubmit","SDKInternalError","p","resolvedEmployeeId","response","OffCycleReason","RFCDate","payrollUuid","DismissalPayPeriodSelectionPresentation"],"mappings":"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"}
1
+ {"version":3,"file":"DismissalPayPeriodSelection.js","sources":["../../../../../src/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { usePaySchedulesGetUnprocessedTerminationPeriodsSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetUnprocessedTerminationPeriods'\nimport { usePayrollsCreateOffCycleMutation } from '@gusto/embedded-api/react-query/payrollsCreateOffCycle'\nimport type { UnprocessedTerminationPayPeriod } from '@gusto/embedded-api/models/components/unprocessedterminationpayperiod'\nimport { OffCycleReason } from '@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useTranslation } from 'react-i18next'\nimport { DismissalPayPeriodSelectionPresentation } from './DismissalPayPeriodSelectionPresentation'\nimport { BaseComponent } from '@/components/Base/Base'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { formatPayPeriodRange } from '@/helpers/dateFormatting'\nimport type { SelectOption } from '@/components/Common/UI/Select/SelectTypes'\n\n/**\n * Props for {@link DismissalPayPeriodSelection}.\n *\n * @public\n */\nexport interface DismissalPayPeriodSelectionProps extends BaseComponentInterface<'Payroll.Dismissal'> {\n /** Identifier of the company the dismissal payroll belongs to. */\n companyId: string\n /** Identifier of the terminated employee. When provided, the available pay periods are filtered to this employee. */\n employeeId?: string\n /** Identifier of an existing dismissal payroll. When provided alongside `employeeId`, pay period selection is skipped and the component immediately emits the selection event. */\n payrollId?: string\n}\n\n/**\n * Pay period selection step for the dismissal payroll workflow.\n *\n * Lists the terminated employee's unprocessed termination pay periods and, on submit, creates an off-cycle payroll with the \"Dismissed employee\" reason for the selected period. When only one pay period is available it is pre-selected. When both `payrollId` and `employeeId` are supplied the step is skipped and the selection event fires immediately with the existing payroll.\n *\n * @remarks\n * Events:\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `dismissal/payPeriod/selected` | Fired after a pay period is selected and the off-cycle payroll has been created, or immediately when `payrollId` is supplied. | `{ payrollUuid: string }` |\n *\n * @param props - See {@link DismissalPayPeriodSelectionProps}.\n * @returns The rendered pay period selection step, or nothing while auto-advancing past selection.\n * @public\n */\nexport function DismissalPayPeriodSelection(props: DismissalPayPeriodSelectionProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\ntype RequiredPayPeriod = UnprocessedTerminationPayPeriod &\n Required<Pick<UnprocessedTerminationPayPeriod, 'startDate' | 'endDate' | 'employeeUuid'>>\n\nconst payPeriodKey = (period: RequiredPayPeriod) =>\n `${period.employeeUuid}__${period.startDate}__${period.endDate}`\n\nfunction Root({\n companyId,\n employeeId,\n payrollId,\n dictionary,\n className,\n}: DismissalPayPeriodSelectionProps) {\n useComponentDictionary('Payroll.Dismissal', dictionary)\n useI18n('Payroll.Dismissal')\n const { t } = useTranslation('Payroll.Dismissal')\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { data } = usePaySchedulesGetUnprocessedTerminationPeriodsSuspense({ companyId })\n const { mutateAsync: createOffCyclePayroll, isPending } = usePayrollsCreateOffCycleMutation()\n\n const shouldAutoAdvance = Boolean(payrollId) && Boolean(employeeId)\n\n useEffect(() => {\n if (payrollId && employeeId) {\n onEvent(componentEvents.DISMISSAL_PAY_PERIOD_SELECTED, { payrollUuid: payrollId })\n }\n }, [payrollId, employeeId, onEvent])\n\n const employeePayPeriods: RequiredPayPeriod[] = useMemo(() => {\n const allPeriods = data.unprocessedTerminationPayPeriods ?? []\n return allPeriods\n .filter(period => !employeeId || period.employeeUuid === employeeId)\n .filter(\n (period): period is RequiredPayPeriod =>\n Boolean(period.startDate) && Boolean(period.endDate) && Boolean(period.employeeUuid),\n )\n }, [data, employeeId])\n\n const payPeriodOptions: SelectOption[] = useMemo(() => {\n return employeePayPeriods.map(period => {\n const dateRange = formatPayPeriodRange(period.startDate, period.endDate)\n const label = period.employeeName ? `${dateRange} (${period.employeeName})` : dateRange\n return {\n value: payPeriodKey(period),\n label,\n }\n })\n }, [employeePayPeriods])\n\n const initialSelection = payPeriodOptions.length === 1 ? payPeriodOptions[0]!.value : undefined\n const [selectedPeriodKey, setSelectedPeriodKey] = useState(initialSelection)\n\n const handleSubmit = async () => {\n await baseSubmitHandler({ selectedPeriodKey }, async () => {\n if (selectedPeriodKey === undefined) {\n throw new SDKInternalError(t('errors.noPayPeriodSelected'))\n }\n\n const period = employeePayPeriods.find(p => payPeriodKey(p) === selectedPeriodKey)\n if (!period) {\n throw new SDKInternalError(t('errors.invalidPayPeriod'))\n }\n\n const resolvedEmployeeId = employeeId ?? period.employeeUuid\n\n const response = await createOffCyclePayroll({\n request: {\n companyId,\n requestBody: {\n offCycle: true,\n offCycleReason: OffCycleReason.DismissedEmployee,\n startDate: new RFCDate(period.startDate),\n endDate: new RFCDate(period.endDate),\n employeeUuids: [resolvedEmployeeId],\n },\n },\n })\n\n const payrollUuid =\n response.payrollUnprocessed?.payrollUuid ?? response.payrollUnprocessed?.uuid\n\n if (!payrollUuid) {\n throw new SDKInternalError(t('errors.missingPayrollId'))\n }\n\n onEvent(componentEvents.DISMISSAL_PAY_PERIOD_SELECTED, { payrollUuid })\n })\n }\n\n if (shouldAutoAdvance) {\n return null\n }\n\n return (\n <DismissalPayPeriodSelectionPresentation\n payPeriodOptions={payPeriodOptions}\n selectedPeriodKey={selectedPeriodKey}\n onSelectPeriod={setSelectedPeriodKey}\n onSubmit={handleSubmit}\n isPending={isPending}\n className={className}\n />\n )\n}\n"],"names":["DismissalPayPeriodSelection","props","jsx","BaseComponent","Root","payPeriodKey","period","companyId","employeeId","payrollId","dictionary","className","useComponentDictionary","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","data","usePaySchedulesGetUnprocessedTerminationPeriodsSuspense","createOffCyclePayroll","isPending","usePayrollsCreateOffCycleMutation","shouldAutoAdvance","useEffect","componentEvents","employeePayPeriods","useMemo","payPeriodOptions","dateRange","formatPayPeriodRange","label","initialSelection","selectedPeriodKey","setSelectedPeriodKey","useState","handleSubmit","SDKInternalError","p","resolvedEmployeeId","response","OffCycleReason","RFCDate","payrollUuid","DismissalPayPeriodSelectionPresentation"],"mappings":"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"}
@@ -18,13 +18,12 @@ import "@gusto/embedded-api/models/errors/httpclienterrors";
18
18
  import { formatNumberAsCurrency as B } from "../../../helpers/formattedStrings.js";
19
19
  import "../../../shared/constants.js";
20
20
  import { useComponentContext as V } from "../../../contexts/ComponentAdapter/useComponentContext.js";
21
- import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
22
21
  import { useI18n as D } from "../../../i18n/I18n.js";
23
22
  import { NumberInputField as E } from "../../Common/Fields/NumberInputField/NumberInputField.js";
24
23
  const T = C.object({
25
24
  netPay: C.number().positive()
26
25
  });
27
- function ue({ isOpen: n, onCalculateGrossUp: w, onApply: P, onCancel: p }) {
26
+ function pe({ isOpen: n, onCalculateGrossUp: w, onApply: P, onCancel: p }) {
28
27
  D("Payroll.GrossUpModal");
29
28
  const { t: r } = z("Payroll.GrossUpModal"), { Modal: x, Heading: u, Text: i, Button: c, Alert: f } = V(), { baseSubmitHandler: y } = k(), A = F(null), [l, m] = o(null), [h, d] = o(null), [M, g] = o(!1), [N, v] = o(!1), s = R({
30
29
  resolver: H(T),
@@ -114,6 +113,6 @@ function ue({ isOpen: n, onCalculateGrossUp: w, onApply: P, onCancel: p }) {
114
113
  );
115
114
  }
116
115
  export {
117
- ue as GrossUpModal
116
+ pe as GrossUpModal
118
117
  };
119
118
  //# sourceMappingURL=GrossUpModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n // Start blank rather than 0: 0 is not a valid net amount, and a leading 0\n // in the field means typing an amount produces values like \"0350\".\n defaultValues: {},\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset()\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n {/* Bottom-align on the row itself: the .calculateButton align-self\n rule below only targets the default (react-aria) adapter, so in\n other adapters the button otherwise falls back to flex-start. */}\n <Flex flexDirection=\"row\" gap={8} alignItems=\"flex-end\">\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n adornmentStart=\"$\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isLoading={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp ? (\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n ) : (\n <Text size=\"sm\" variant=\"supporting\">\n {t('applyHint')}\n </Text>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField"],"mappings":"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"}
1
+ {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n // Start blank rather than 0: 0 is not a valid net amount, and a leading 0\n // in the field means typing an amount produces values like \"0350\".\n defaultValues: {},\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset()\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n {/* Bottom-align on the row itself: the .calculateButton align-self\n rule below only targets the default (react-aria) adapter, so in\n other adapters the button otherwise falls back to flex-start. */}\n <Flex flexDirection=\"row\" gap={8} alignItems=\"flex-end\">\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n adornmentStart=\"$\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isLoading={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp ? (\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n ) : (\n <Text size=\"sm\" variant=\"supporting\">\n {t('applyHint')}\n </Text>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField"],"mappings":"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"}