@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
@@ -5,14 +5,14 @@ import { useJobsAndCompensationsDeleteMutation as pe } from "@gusto/embedded-api
5
5
  import { usePendingChangeDetailRenderer as ge } from "../../shared/usePendingChangeDetailRenderer.js";
6
6
  import { PendingChangesReviewModal as fe } from "../../shared/PendingChangesReviewModal.js";
7
7
  import k from "./CompensationCard.module.scss.js";
8
- import { Flex as P } from "../../../../Common/Flex/Flex.js";
9
- import { useComponentContext as Y } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
8
+ import { Flex as T } from "../../../../Common/Flex/Flex.js";
9
+ import { useComponentContext as G } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
10
10
  import { Loading as Ce } from "../../../../Common/Loading/Loading.js";
11
11
  import { EmptyData as he } from "../../../../Common/EmptyData/EmptyData.js";
12
12
  import { HamburgerMenu as be } from "../../../../Common/HamburgerMenu/HamburgerMenu.js";
13
- import { BaseBoundaries as Ee, BaseLayout as G } from "../../../../Base/Base.js";
14
- import { formatDateToStringDate as ye, formatDateLongWithYear as b } from "../../../../../helpers/dateFormatting.js";
15
- import { useFormatCompensationRate as De } from "../../../../../helpers/formattedStrings.js";
13
+ import { BaseBoundaries as Ee, BaseLayout as V } from "../../../../Base/Base.js";
14
+ import { formatDateToStringDate as De, formatDateLongWithYear as E } from "../../../../../helpers/dateFormatting.js";
15
+ import { useFormatCompensationRate as ye } from "../../../../../helpers/formattedStrings.js";
16
16
  import { useI18n as Ae } from "../../../../../i18n/I18n.js";
17
17
  import { componentEvents as C, FlsaStatus as H } from "../../../../../shared/constants.js";
18
18
  import I from "../../../../../assets/icons/plus-circle.svg.js";
@@ -21,84 +21,84 @@ import Je from "../../../../../assets/icons/pencil.svg.js";
21
21
  import { useCompensationManagement as Pe } from "../../shared/useCompensationManagement/useCompensationManagement.js";
22
22
  import { VisuallyHidden as Te } from "../../../../Common/VisuallyHidden/VisuallyHidden.js";
23
23
  import { useDataView as Me } from "../../../../Common/DataView/useDataView.js";
24
- import { DataView as ve } from "../../../../Common/DataView/DataView.js";
25
- function F(o) {
26
- if (o === void 0) return null;
27
- const r = parseFloat(o);
24
+ import { DataView as Se } from "../../../../Common/DataView/DataView.js";
25
+ function F(a) {
26
+ if (a === void 0) return null;
27
+ const r = parseFloat(a);
28
28
  return Number.isFinite(r) ? r : null;
29
29
  }
30
- function nt({ LoaderComponent: o, ...r }) {
30
+ function nt({ LoaderComponent: a, ...r }) {
31
31
  return /* @__PURE__ */ n(
32
32
  Ee,
33
33
  {
34
34
  componentName: "Employee.Management.Compensation",
35
- LoaderComponent: o,
36
- children: /* @__PURE__ */ n(Se, { LoaderComponent: o, ...r })
35
+ LoaderComponent: a,
36
+ children: /* @__PURE__ */ n(ve, { LoaderComponent: a, ...r })
37
37
  }
38
38
  );
39
39
  }
40
- function Se({ employeeId: o, onEvent: r, LoaderComponent: c }) {
40
+ function ve({ employeeId: a, onEvent: r, LoaderComponent: c }) {
41
41
  Ae("Employee.Management.Compensation");
42
- const { t: E } = j("Employee.Management.Compensation"), t = Y(), i = Pe({ employeeId: o });
43
- return i.isLoading ? /* @__PURE__ */ n(G, { error: i.errorHandling.errors, LoaderComponent: c, children: /* @__PURE__ */ n(t.Box, { header: /* @__PURE__ */ n(t.BoxHeader, { title: E("card.title") }), children: /* @__PURE__ */ n(Ce, {}) }) }) : /* @__PURE__ */ n(
44
- Ue,
42
+ const { t: D } = j("Employee.Management.Compensation"), t = G(), i = Pe({ employeeId: a });
43
+ return i.isLoading ? /* @__PURE__ */ n(V, { error: i.errorHandling.errors, LoaderComponent: c, children: /* @__PURE__ */ n(t.Box, { header: /* @__PURE__ */ n(t.BoxHeader, { title: D("card.title") }), children: /* @__PURE__ */ n(Ce, {}) }) }) : /* @__PURE__ */ n(
44
+ we,
45
45
  {
46
- employeeId: o,
46
+ employeeId: a,
47
47
  onEvent: r,
48
48
  compensation: i,
49
49
  LoaderComponent: c
50
50
  }
51
51
  );
52
52
  }
53
- function Ue({
54
- employeeId: o,
53
+ function we({
54
+ employeeId: a,
55
55
  onEvent: r,
56
56
  compensation: c,
57
- LoaderComponent: E
57
+ LoaderComponent: D
58
58
  }) {
59
- const { t } = j("Employee.Management.Compensation"), i = Y(), T = De(), { jobs: p, primaryFlsaStatus: V, pendingChanges: M, hasMultipleJobs: m, employeeFirstName: y } = c.data, { cancellingCompensationUuid: v } = c.status, S = ue(
59
+ const { t } = j("Employee.Management.Compensation"), i = G(), M = ye(), { jobs: p, primaryFlsaStatus: Y, pendingChanges: S, hasMultipleJobs: m, employeeFirstName: y } = c.data, { cancellingCompensationUuid: v } = c.status, w = ue(
60
60
  async (e) => {
61
61
  await c.actions.cancelPendingChange(e) && r(C.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_CHANGE_CANCELLED, {
62
- employeeId: o,
62
+ employeeId: a,
63
63
  compensationId: e.compensationUuid
64
64
  });
65
65
  },
66
- [c, r, o]
67
- ), [g, D] = x(null), { mutateAsync: W, isPending: U } = pe(), Q = async () => {
66
+ [c, r, a]
67
+ ), [g, A] = x(null), { mutateAsync: W, isPending: _ } = pe(), Q = async () => {
68
68
  if (!g) return;
69
69
  const e = g.uuid;
70
70
  await W({ request: { jobId: e } }), r(C.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_JOB_DELETED, {
71
- employeeId: o,
71
+ employeeId: a,
72
72
  jobId: e
73
- }), D(null);
74
- }, a = p.length === 1 ? p[0] : void 0, z = ye(/* @__PURE__ */ new Date()) ?? "", X = p.find((e) => e.primary)?.compensations?.some(
73
+ }), A(null);
74
+ }, o = p.length === 1 ? p[0] : void 0, z = De(/* @__PURE__ */ new Date()) ?? "", X = p.find((e) => e.primary)?.compensations?.some(
75
75
  (e) => e.effectiveDate !== void 0 && e.effectiveDate > z && e.flsaStatus !== H.NONEXEMPT
76
- ) ?? !1, q = p.length >= 1 && V === H.NONEXEMPT && !X, w = a ? F(a.rate) : null, _ = a?.compensations?.find(
77
- (e) => e.uuid === a.currentCompensationUuid
78
- ), h = /* @__PURE__ */ n("span", { "aria-label": t("card.listEmptyPlaceholder"), children: "–" }), $ = a?.paymentUnit ? a.paymentUnit === "Hour" ? t("card.types.hourly") : a.paymentUnit === "Salary" || a.paymentUnit === "Year" ? t("card.types.salary") : a.paymentUnit : null, [K, A] = x(!1), Z = ge(y), ee = M.filter((e) => e.isNewJob), d = M.filter((e) => !e.isNewJob);
76
+ ) ?? !1, $ = p.length >= 1 && Y === H.NONEXEMPT && !X, L = o ? F(o.rate) : null, h = o?.compensations?.find(
77
+ (e) => e.uuid === o.currentCompensationUuid
78
+ ), b = /* @__PURE__ */ n("span", { "aria-label": t("card.listEmptyPlaceholder"), children: "–" }), q = h?.flsaStatus ? t(`flsaStatusLabels.${h.flsaStatus}`) : null, [K, N] = x(!1), Z = ge(y), ee = S.filter((e) => e.isNewJob), d = S.filter((e) => !e.isNewJob);
79
79
  me(() => {
80
- d.length === 0 && A(!1);
80
+ d.length === 0 && N(!1);
81
81
  }, [d.length]);
82
- const N = new Set(ee.map((e) => e.jobUuid)), te = a ? N.has(a.uuid) : !1, ne = N.size > 0, L = new Set(d.map((e) => e.jobUuid)), ie = a ? L.has(a.uuid) : !1, O = d.length > 0, R = m && d.length > 1, ae = O && !R, u = d[0], B = (e) => {
82
+ const J = new Set(ee.map((e) => e.jobUuid)), te = o ? J.has(o.uuid) : !1, ne = J.size > 0, U = new Set(d.map((e) => e.jobUuid)), ie = o ? U.has(o.uuid) : !1, O = d.length > 0, R = m && d.length > 1, ae = O && !R, u = d[0], B = (e) => {
83
83
  r(C.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_EDIT_REQUESTED, {
84
- employeeId: o,
84
+ employeeId: a,
85
85
  jobId: e.uuid
86
86
  });
87
87
  }, oe = () => {
88
- r(C.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_ADD_REQUESTED, { employeeId: o });
88
+ r(C.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_ADD_REQUESTED, { employeeId: a });
89
89
  }, re = () => {
90
90
  r(C.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_ADD_ANOTHER_REQUESTED, {
91
- employeeId: o
91
+ employeeId: a
92
92
  });
93
93
  }, se = [
94
94
  {
95
95
  key: "jobTitle",
96
96
  title: t("card.columns.jobTitle"),
97
97
  render: (e) => {
98
- const s = e.compensations?.find((J) => J.uuid === e.currentCompensationUuid), l = F(e.rate);
98
+ const s = e.compensations?.find((P) => P.uuid === e.currentCompensationUuid), l = F(e.rate);
99
99
  return /* @__PURE__ */ f(de, { children: [
100
100
  s?.title || "-",
101
- l !== null && e.paymentUnit ? /* @__PURE__ */ n(i.Text, { variant: "supporting", size: "sm", children: T(l, e.paymentUnit) }) : null
101
+ l !== null && e.paymentUnit ? /* @__PURE__ */ n(i.Text, { variant: "supporting", size: "sm", children: M(l, e.paymentUnit) }) : null
102
102
  ] });
103
103
  }
104
104
  },
@@ -117,14 +117,14 @@ function Ue({
117
117
  title: t("card.columns.effectiveDate"),
118
118
  render: (e) => {
119
119
  const s = e.compensations?.find((l) => l.uuid === e.currentCompensationUuid);
120
- return s?.effectiveDate ? b(s.effectiveDate) : "-";
120
+ return s?.effectiveDate ? E(s.effectiveDate) : "-";
121
121
  }
122
122
  },
123
123
  ...ne ? [
124
124
  {
125
125
  key: "status",
126
126
  title: /* @__PURE__ */ n(Te, { children: t("card.columns.status") }),
127
- render: (e) => N.has(e.uuid) ? /* @__PURE__ */ n(i.Badge, { status: "warning", children: t("card.pendingStatus") }) : null
127
+ render: (e) => J.has(e.uuid) ? /* @__PURE__ */ n(i.Badge, { status: "warning", children: t("card.pendingStatus") }) : null
128
128
  }
129
129
  ] : []
130
130
  ], le = Me({
@@ -132,7 +132,7 @@ function Ue({
132
132
  columns: se,
133
133
  itemMenu: (e) => {
134
134
  const l = [
135
- ...L.has(e.uuid) ? [] : [
135
+ ...U.has(e.uuid) ? [] : [
136
136
  {
137
137
  label: t("card.editJobCta"),
138
138
  icon: /* @__PURE__ */ n(Je, { "aria-hidden": !0 }),
@@ -146,10 +146,10 @@ function Ue({
146
146
  label: t("card.deleteJobCta"),
147
147
  icon: /* @__PURE__ */ n(Ne, { "aria-hidden": !0 }),
148
148
  onClick: () => {
149
- const J = e.compensations?.find(
149
+ const P = e.compensations?.find(
150
150
  (ce) => ce.uuid === e.currentCompensationUuid
151
151
  );
152
- D({ uuid: e.uuid, title: J?.title ?? "" });
152
+ A({ uuid: e.uuid, title: P?.title ?? "" });
153
153
  }
154
154
  }
155
155
  ]
@@ -158,13 +158,13 @@ function Ue({
158
158
  be,
159
159
  {
160
160
  triggerLabel: t("card.hamburgerTitle"),
161
- isLoading: U,
161
+ isLoading: _,
162
162
  items: l
163
163
  }
164
164
  );
165
165
  }
166
166
  });
167
- return /* @__PURE__ */ f(G, { error: c.errorHandling.errors, LoaderComponent: E, children: [
167
+ return /* @__PURE__ */ f(V, { error: c.errorHandling.errors, LoaderComponent: D, children: [
168
168
  /* @__PURE__ */ n(
169
169
  i.Box,
170
170
  {
@@ -173,12 +173,12 @@ function Ue({
173
173
  i.BoxHeader,
174
174
  {
175
175
  title: t("card.title"),
176
- action: m ? null : a ? ie ? null : /* @__PURE__ */ n(
176
+ action: m ? null : o ? ie ? null : /* @__PURE__ */ n(
177
177
  i.Button,
178
178
  {
179
179
  variant: "secondary",
180
180
  onClick: () => {
181
- B(a);
181
+ B(o);
182
182
  },
183
183
  children: t("card.editCta")
184
184
  }
@@ -193,7 +193,7 @@ function Ue({
193
193
  )
194
194
  }
195
195
  ),
196
- footer: q ? /* @__PURE__ */ n(
196
+ footer: $ ? /* @__PURE__ */ n(
197
197
  i.Button,
198
198
  {
199
199
  variant: "secondary",
@@ -202,12 +202,12 @@ function Ue({
202
202
  children: t("card.addAnotherJobCta")
203
203
  }
204
204
  ) : void 0,
205
- children: /* @__PURE__ */ f(P, { flexDirection: "column", gap: 16, children: [
205
+ children: /* @__PURE__ */ f(T, { flexDirection: "column", gap: 16, children: [
206
206
  O && /* @__PURE__ */ n(
207
207
  "div",
208
208
  {
209
209
  className: [k.alertWrapper, m && k.alertWrapperPadded].filter(Boolean).join(" "),
210
- children: /* @__PURE__ */ f(P, { flexDirection: "column", gap: 16, children: [
210
+ children: /* @__PURE__ */ f(T, { flexDirection: "column", gap: 16, children: [
211
211
  ae && u && /* @__PURE__ */ n(
212
212
  i.Alert,
213
213
  {
@@ -215,11 +215,11 @@ function Ue({
215
215
  disableScrollIntoView: !0,
216
216
  label: m ? t("card.pendingChange.alertLabelWithJob", {
217
217
  jobTitle: u.jobTitle,
218
- date: b(u.effectiveDate)
218
+ date: E(u.effectiveDate)
219
219
  }) : t("card.pendingChange.alertLabel", {
220
- date: b(u.effectiveDate)
220
+ date: E(u.effectiveDate)
221
221
  }),
222
- children: /* @__PURE__ */ f(P, { flexDirection: "column", gap: 12, children: [
222
+ children: /* @__PURE__ */ f(T, { flexDirection: "column", gap: 12, children: [
223
223
  /* @__PURE__ */ n(
224
224
  i.UnorderedList,
225
225
  {
@@ -232,7 +232,7 @@ function Ue({
232
232
  variant: "secondary",
233
233
  isLoading: v === u.compensationUuid,
234
234
  onClick: () => {
235
- S(u);
235
+ w(u);
236
236
  },
237
237
  children: t("card.pendingChange.cancelCta")
238
238
  }
@@ -253,7 +253,7 @@ function Ue({
253
253
  {
254
254
  variant: "secondary",
255
255
  onClick: () => {
256
- A(!0);
256
+ N(!0);
257
257
  },
258
258
  children: t("card.pendingChange.reviewCta")
259
259
  }
@@ -263,25 +263,25 @@ function Ue({
263
263
  ] })
264
264
  }
265
265
  ),
266
- m ? /* @__PURE__ */ n(ve, { label: t("card.tableLabel"), isWithinBox: !0, ...le }) : a ? /* @__PURE__ */ n(
266
+ m ? /* @__PURE__ */ n(Se, { label: t("card.tableLabel"), isWithinBox: !0, ...le }) : o ? /* @__PURE__ */ n(
267
267
  i.DescriptionList,
268
268
  {
269
269
  items: [
270
270
  {
271
271
  term: t("card.jobTitle"),
272
- description: a.title || h
272
+ description: o.title || b
273
273
  },
274
274
  {
275
275
  term: t("card.type"),
276
- description: $ || h
276
+ description: q || b
277
277
  },
278
278
  {
279
279
  term: t("card.wage"),
280
- description: w !== null && a.paymentUnit ? T(w, a.paymentUnit) : h
280
+ description: L !== null && o.paymentUnit ? M(L, o.paymentUnit) : b
281
281
  },
282
282
  {
283
283
  term: t("card.effectiveDate"),
284
- description: _?.effectiveDate ? b(_.effectiveDate) : h
284
+ description: h?.effectiveDate ? E(h.effectiveDate) : b
285
285
  },
286
286
  ...te ? [
287
287
  {
@@ -309,10 +309,10 @@ function Ue({
309
309
  employeeFirstName: y,
310
310
  cancellingCompensationUuid: v,
311
311
  onClose: () => {
312
- A(!1);
312
+ N(!1);
313
313
  },
314
314
  onCancelChange: (e) => {
315
- S(e);
315
+ w(e);
316
316
  }
317
317
  }
318
318
  ),
@@ -321,12 +321,12 @@ function Ue({
321
321
  {
322
322
  isOpen: g !== null,
323
323
  onClose: () => {
324
- D(null);
324
+ A(null);
325
325
  },
326
326
  onPrimaryActionClick: () => {
327
327
  Q();
328
328
  },
329
- isPrimaryActionLoading: U,
329
+ isPrimaryActionLoading: _,
330
330
  isDestructive: !0,
331
331
  title: t("card.deleteJobDialog.title"),
332
332
  primaryActionLabel: t("card.deleteJobDialog.confirmCta"),
@@ -1 +1 @@
1
- {"version":3,"file":"CompensationCard.js","sources":["../../../../../../src/components/Employee/Compensation/management/CompensationCard/CompensationCard.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useJobsAndCompensationsDeleteMutation } from '@gusto/embedded-api/react-query/jobsAndCompensationsDelete'\nimport type { Job } from '@gusto/embedded-api/models/components/job'\nimport {\n useCompensationManagement,\n type UseCompensationManagementReady,\n} from '../../shared/useCompensationManagement'\nimport type { PendingCompensationChange } from '../../shared/getPendingCompensationChanges'\nimport { usePendingChangeDetailRenderer } from '../../shared/usePendingChangeDetailRenderer'\nimport { PendingChangesReviewModal } from '../../shared/PendingChangesReviewModal'\nimport styles from './CompensationCard.module.scss'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { DataView, useDataView, EmptyData, Loading, VisuallyHidden } from '@/components/Common'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { formatDateLongWithYear, formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useFormatCompensationRate } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, FlsaStatus, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\n\nfunction parseJobRate(rate: Job['rate']): number | null {\n if (rate === undefined) return null\n const numericRate = parseFloat(rate)\n return Number.isFinite(numericRate) ? numericRate : null\n}\n\n/**\n * Props for {@link CompensationCard}.\n *\n * @public\n */\nexport interface CompensationCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Callback invoked when the card emits an event. See the events table on {@link CompensationCard} for the available event types and payloads. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Standalone \"Compensation\" management card that displays an employee's current jobs and compensation, surfaces pending future-dated changes, and exposes edit, add, and delete affordances.\n *\n * @remarks\n * The card owns its own data fetch, the pending-change alerts and review modal, and the delete-job confirm dialog. It does not render the compensation edit or add-job forms — instead, it emits a distinct request event for each action, and the consumer routes those to {@link CompensationEditForm}, {@link CompensationAddJobForm}, or {@link CompensationAddAnotherJobForm} and renders any post-save success alerts. {@link Compensation} bundles the card, the three form surfaces, and the swap and alert wiring as a single drop-in; reach for the card directly only when that orchestration is the wrong fit (for example, when a form needs to render in a modal or drawer, or when the swap is driven by a router).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/compensation/card/editRequested` | Fired when an \"Edit\" CTA is clicked for a job | `{ employeeId: string, jobId: string }` |\n * | `employee/management/compensation/card/addRequested` | Fired when the \"Add job\" CTA is clicked from the empty state | `{ employeeId: string }` |\n * | `employee/management/compensation/card/addAnotherRequested` | Fired when the \"Add another job\" CTA is clicked | `{ employeeId: string }` |\n * | `employee/management/compensation/card/jobDeleted` | Fired after a non-primary job is deleted via the card's confirm dialog | `{ employeeId: string, jobId: string }` |\n * | `employee/management/compensation/card/changeCancelled` | Fired after a scheduled future-dated change is cancelled from the card | `{ employeeId: string, compensationId: string }` |\n *\n * @param props - See {@link CompensationCardProps}.\n * @returns The rendered compensation card.\n * @public\n * @group Block components\n */\nexport function CompensationCard({ LoaderComponent, ...props }: CompensationCardProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.Compensation\"\n LoaderComponent={LoaderComponent}\n >\n <CompensationCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction CompensationCardContent({ employeeId, onEvent, LoaderComponent }: CompensationCardProps) {\n useI18n('Employee.Management.Compensation')\n const { t } = useTranslation('Employee.Management.Compensation')\n const Components = useComponentContext()\n\n const compensation = useCompensationManagement({ employeeId })\n\n if (compensation.isLoading) {\n return (\n <BaseLayout error={compensation.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box header={<Components.BoxHeader title={t('card.title')} />}>\n <Loading />\n </Components.Box>\n </BaseLayout>\n )\n }\n\n return (\n <CompensationCardReady\n employeeId={employeeId}\n onEvent={onEvent}\n compensation={compensation}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\ninterface CompensationCardReadyProps extends CompensationCardProps {\n compensation: UseCompensationManagementReady\n}\n\nfunction CompensationCardReady({\n employeeId,\n onEvent,\n compensation,\n LoaderComponent,\n}: CompensationCardReadyProps) {\n const { t } = useTranslation('Employee.Management.Compensation')\n const Components = useComponentContext()\n const formatCompensationRate = useFormatCompensationRate()\n\n const { jobs, primaryFlsaStatus, pendingChanges, hasMultipleJobs, employeeFirstName } =\n compensation.data\n const { cancellingCompensationUuid } = compensation.status\n\n const handleCancelChange = useCallback(\n async (pendingChange: PendingCompensationChange) => {\n const result = await compensation.actions.cancelPendingChange(pendingChange)\n if (result) {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_CHANGE_CANCELLED, {\n employeeId,\n compensationId: pendingChange.compensationUuid,\n })\n }\n },\n [compensation, onEvent, employeeId],\n )\n\n const [pendingDeleteJob, setPendingDeleteJob] = useState<{\n uuid: string\n title: string\n } | null>(null)\n\n const { mutateAsync: deleteEmployeeJob, isPending: isDeletingJob } =\n useJobsAndCompensationsDeleteMutation()\n\n const handleConfirmDeleteJob = async () => {\n if (!pendingDeleteJob) return\n const jobId = pendingDeleteJob.uuid\n await deleteEmployeeJob({ request: { jobId } })\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_JOB_DELETED, {\n employeeId,\n jobId,\n })\n setPendingDeleteJob(null)\n }\n\n const singleJob = jobs.length === 1 ? jobs[0]! : undefined\n // Block adding a secondary if the primary already has a future-dated\n // compensation that isn't Nonexempt — that comp will delete secondary jobs\n // at its effective date, matching the gws-flows guard on the new-job action.\n const localTodayISO = formatDateToStringDate(new Date()) ?? ''\n const primaryJob = jobs.find(j => j.primary)\n const hasFutureNonNonexemptComp =\n primaryJob?.compensations?.some(\n c =>\n c.effectiveDate !== undefined &&\n c.effectiveDate > localTodayISO &&\n c.flsaStatus !== FlsaStatus.NONEXEMPT,\n ) ?? false\n const canAddAnotherJob =\n jobs.length >= 1 && primaryFlsaStatus === FlsaStatus.NONEXEMPT && !hasFutureNonNonexemptComp\n const singleJobNumericRate = singleJob ? parseJobRate(singleJob.rate) : null\n const singleJobCurrentComp = singleJob?.compensations?.find(\n c => c.uuid === singleJob.currentCompensationUuid,\n )\n const emptyPlaceholder = <span aria-label={t('card.listEmptyPlaceholder')}>–</span>\n const singleJobPaymentTypeLabel = singleJob?.paymentUnit\n ? singleJob.paymentUnit === 'Hour'\n ? t('card.types.hourly')\n : singleJob.paymentUnit === 'Salary' || singleJob.paymentUnit === 'Year'\n ? t('card.types.salary')\n : singleJob.paymentUnit\n : null\n\n const [isReviewOpen, setIsReviewOpen] = useState(false)\n const renderDetail = usePendingChangeDetailRenderer(employeeFirstName)\n\n // Split pending changes: \"new job\" (job hasn't started yet, no current comp)\n // vs \"update\" (existing comp with a scheduled future change).\n const newJobPendingChanges = pendingChanges.filter(c => c.isNewJob)\n const updatePendingChanges = pendingChanges.filter(c => !c.isNewJob)\n\n useEffect(() => {\n if (updatePendingChanges.length === 0) {\n setIsReviewOpen(false)\n }\n }, [updatePendingChanges.length])\n\n const pendingNewJobUuids = new Set(newJobPendingChanges.map(c => c.jobUuid))\n const singleJobIsPendingNew = singleJob ? pendingNewJobUuids.has(singleJob.uuid) : false\n const hasAnyPendingNewJobs = pendingNewJobUuids.size > 0\n\n // Jobs with a future-dated comp stacked on a current comp (\"pending update\").\n // Editing while one is queued would stack another future comp on top —\n // hide Edit until the existing pending change is cancelled or goes into effect.\n const pendingUpdateJobUuids = new Set(updatePendingChanges.map(c => c.jobUuid))\n const singleJobHasPendingUpdate = singleJob ? pendingUpdateJobUuids.has(singleJob.uuid) : false\n\n const hasPendingUpdates = updatePendingChanges.length > 0\n const showSummaryAlert = hasMultipleJobs && updatePendingChanges.length > 1\n const showInlineAlert = hasPendingUpdates && !showSummaryAlert\n const nextChange = updatePendingChanges[0]\n\n const handleEdit = (job: Job) => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_EDIT_REQUESTED, {\n employeeId,\n jobId: job.uuid,\n })\n }\n const handleAddJob = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_ADD_REQUESTED, { employeeId })\n }\n const handleAddAnotherJob = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_ADD_ANOTHER_REQUESTED, {\n employeeId,\n })\n }\n\n const jobsColumns = [\n {\n key: 'jobTitle',\n title: t('card.columns.jobTitle'),\n render: (job: Job) => {\n // Title lives on compensation in the API — `job.title` is a\n // denormalized snapshot that can lag behind comp-level edits on\n // pending jobs, so read from the comp pointed to by\n // `currentCompensationUuid`.\n const currentComp = job.compensations?.find(c => c.uuid === job.currentCompensationUuid)\n const numericRate = parseJobRate(job.rate)\n return (\n <>\n {currentComp?.title || '-'}\n {numericRate !== null && job.paymentUnit ? (\n <Components.Text variant=\"supporting\" size=\"sm\">\n {formatCompensationRate(numericRate, job.paymentUnit)}\n </Components.Text>\n ) : null}\n </>\n )\n },\n },\n {\n key: 'payType',\n title: t('card.columns.payType'),\n render: (job: Job) => {\n const flsaStatus = job.compensations?.find(\n comp => comp.uuid === job.currentCompensationUuid,\n )?.flsaStatus\n return flsaStatus !== undefined ? t(`flsaStatusLabels.${flsaStatus}`) : '-'\n },\n },\n {\n key: 'effectiveDate',\n title: t('card.columns.effectiveDate'),\n render: (job: Job) => {\n const currentComp = job.compensations?.find(c => c.uuid === job.currentCompensationUuid)\n return currentComp?.effectiveDate ? formatDateLongWithYear(currentComp.effectiveDate) : '-'\n },\n },\n ...(hasAnyPendingNewJobs\n ? [\n {\n key: 'status',\n title: <VisuallyHidden>{t('card.columns.status')}</VisuallyHidden>,\n render: (job: Job) =>\n pendingNewJobUuids.has(job.uuid) ? (\n <Components.Badge status=\"warning\">{t('card.pendingStatus')}</Components.Badge>\n ) : null,\n },\n ]\n : []),\n ]\n\n const jobsDataView = useDataView({\n data: jobs,\n columns: jobsColumns,\n itemMenu: (job: Job) => {\n const jobHasPendingUpdate = pendingUpdateJobUuids.has(job.uuid)\n const items = [\n ...(jobHasPendingUpdate\n ? []\n : [\n {\n label: t('card.editJobCta'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(job)\n },\n },\n ]),\n ...(!job.primary\n ? [\n {\n label: t('card.deleteJobCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n const currentComp = job.compensations?.find(\n c => c.uuid === job.currentCompensationUuid,\n )\n setPendingDeleteJob({ uuid: job.uuid, title: currentComp?.title ?? '' })\n },\n },\n ]\n : []),\n ]\n if (items.length === 0) return null\n return (\n <HamburgerMenu\n triggerLabel={t('card.hamburgerTitle')}\n isLoading={isDeletingJob}\n items={items}\n />\n )\n },\n })\n\n return (\n <BaseLayout error={compensation.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n withPadding={!hasMultipleJobs}\n header={\n <Components.BoxHeader\n title={t('card.title')}\n action={\n hasMultipleJobs ? null : singleJob ? (\n singleJobHasPendingUpdate ? null : (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n handleEdit(singleJob)\n }}\n >\n {t('card.editCta')}\n </Components.Button>\n )\n ) : (\n <Components.Button\n variant=\"secondary\"\n onClick={handleAddJob}\n icon={<PlusCircleIcon />}\n >\n {t('card.addJobCta')}\n </Components.Button>\n )\n }\n />\n }\n footer={\n canAddAnotherJob ? (\n <Components.Button\n variant=\"secondary\"\n onClick={handleAddAnotherJob}\n icon={<PlusCircleIcon />}\n >\n {t('card.addAnotherJobCta')}\n </Components.Button>\n ) : undefined\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {hasPendingUpdates && (\n <div\n className={[styles.alertWrapper, hasMultipleJobs && styles.alertWrapperPadded]\n .filter(Boolean)\n .join(' ')}\n >\n <Flex flexDirection=\"column\" gap={16}>\n {showInlineAlert && nextChange && (\n <Components.Alert\n status=\"warning\"\n disableScrollIntoView\n label={\n hasMultipleJobs\n ? t('card.pendingChange.alertLabelWithJob', {\n jobTitle: nextChange.jobTitle,\n date: formatDateLongWithYear(nextChange.effectiveDate),\n })\n : t('card.pendingChange.alertLabel', {\n date: formatDateLongWithYear(nextChange.effectiveDate),\n })\n }\n >\n <Flex flexDirection=\"column\" gap={12}>\n <Components.UnorderedList\n items={nextChange.details.map(detail => renderDetail(detail))}\n />\n <div>\n <Components.Button\n variant=\"secondary\"\n isLoading={cancellingCompensationUuid === nextChange.compensationUuid}\n onClick={() => {\n void handleCancelChange(nextChange)\n }}\n >\n {t('card.pendingChange.cancelCta')}\n </Components.Button>\n </div>\n </Flex>\n </Components.Alert>\n )}\n {showSummaryAlert && (\n <Components.Alert\n status=\"warning\"\n disableScrollIntoView\n label={t('card.pendingChange.summaryLabel', {\n name: employeeFirstName ?? '',\n })}\n action={\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n setIsReviewOpen(true)\n }}\n >\n {t('card.pendingChange.reviewCta')}\n </Components.Button>\n }\n />\n )}\n </Flex>\n </div>\n )}\n {hasMultipleJobs ? (\n <DataView label={t('card.tableLabel')} isWithinBox {...jobsDataView} />\n ) : singleJob ? (\n <Components.DescriptionList\n items={[\n {\n term: t('card.jobTitle'),\n description: singleJob.title || emptyPlaceholder,\n },\n {\n term: t('card.type'),\n description: singleJobPaymentTypeLabel || emptyPlaceholder,\n },\n {\n term: t('card.wage'),\n description:\n singleJobNumericRate !== null && singleJob.paymentUnit\n ? formatCompensationRate(singleJobNumericRate, singleJob.paymentUnit)\n : emptyPlaceholder,\n },\n {\n term: t('card.effectiveDate'),\n description: singleJobCurrentComp?.effectiveDate\n ? formatDateLongWithYear(singleJobCurrentComp.effectiveDate)\n : emptyPlaceholder,\n },\n ...(singleJobIsPendingNew\n ? [\n {\n term: t('card.columns.status'),\n description: (\n <Components.Badge status=\"warning\">\n {t('card.pendingStatus')}\n </Components.Badge>\n ),\n },\n ]\n : []),\n ]}\n />\n ) : (\n <EmptyData\n title={t('card.emptyState.title')}\n description={t('card.emptyState.description')}\n />\n )}\n </Flex>\n </Components.Box>\n\n <PendingChangesReviewModal\n isOpen={isReviewOpen}\n pendingChanges={updatePendingChanges}\n employeeFirstName={employeeFirstName}\n cancellingCompensationUuid={cancellingCompensationUuid}\n onClose={() => {\n setIsReviewOpen(false)\n }}\n onCancelChange={change => {\n void handleCancelChange(change)\n }}\n />\n\n <Components.Dialog\n isOpen={pendingDeleteJob !== null}\n onClose={() => {\n setPendingDeleteJob(null)\n }}\n onPrimaryActionClick={() => {\n void handleConfirmDeleteJob()\n }}\n isPrimaryActionLoading={isDeletingJob}\n isDestructive\n title={t('card.deleteJobDialog.title')}\n primaryActionLabel={t('card.deleteJobDialog.confirmCta')}\n closeActionLabel={t('card.deleteJobDialog.cancelCta')}\n >\n {pendingDeleteJob\n ? t('card.deleteJobDialog.description', {\n jobTitle: pendingDeleteJob.title,\n })\n : null}\n </Components.Dialog>\n </BaseLayout>\n )\n}\n"],"names":["parseJobRate","rate","numericRate","CompensationCard","LoaderComponent","props","jsx","BaseBoundaries","CompensationCardContent","employeeId","onEvent","useI18n","t","useTranslation","Components","useComponentContext","compensation","useCompensationManagement","BaseLayout","Loading","CompensationCardReady","formatCompensationRate","useFormatCompensationRate","jobs","primaryFlsaStatus","pendingChanges","hasMultipleJobs","employeeFirstName","cancellingCompensationUuid","handleCancelChange","useCallback","pendingChange","componentEvents","pendingDeleteJob","setPendingDeleteJob","useState","deleteEmployeeJob","isDeletingJob","useJobsAndCompensationsDeleteMutation","handleConfirmDeleteJob","jobId","singleJob","localTodayISO","formatDateToStringDate","hasFutureNonNonexemptComp","j","c","FlsaStatus","canAddAnotherJob","singleJobNumericRate","singleJobCurrentComp","emptyPlaceholder","singleJobPaymentTypeLabel","isReviewOpen","setIsReviewOpen","renderDetail","usePendingChangeDetailRenderer","newJobPendingChanges","updatePendingChanges","useEffect","pendingNewJobUuids","singleJobIsPendingNew","hasAnyPendingNewJobs","pendingUpdateJobUuids","singleJobHasPendingUpdate","hasPendingUpdates","showSummaryAlert","showInlineAlert","nextChange","handleEdit","job","handleAddJob","handleAddAnotherJob","jobsColumns","currentComp","jsxs","Fragment","flsaStatus","comp","formatDateLongWithYear","VisuallyHidden","jobsDataView","useDataView","items","PencilSvg","TrashCanSvg","HamburgerMenu","PlusCircleIcon","Flex","styles","detail","DataView","EmptyData","PendingChangesReviewModal","change"],"mappings":"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"}
1
+ {"version":3,"file":"CompensationCard.js","sources":["../../../../../../src/components/Employee/Compensation/management/CompensationCard/CompensationCard.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useJobsAndCompensationsDeleteMutation } from '@gusto/embedded-api/react-query/jobsAndCompensationsDelete'\nimport type { Job } from '@gusto/embedded-api/models/components/job'\nimport {\n useCompensationManagement,\n type UseCompensationManagementReady,\n} from '../../shared/useCompensationManagement'\nimport type { PendingCompensationChange } from '../../shared/getPendingCompensationChanges'\nimport { usePendingChangeDetailRenderer } from '../../shared/usePendingChangeDetailRenderer'\nimport { PendingChangesReviewModal } from '../../shared/PendingChangesReviewModal'\nimport styles from './CompensationCard.module.scss'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { DataView, useDataView, EmptyData, Loading, VisuallyHidden } from '@/components/Common'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { formatDateLongWithYear, formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useFormatCompensationRate } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, FlsaStatus, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\n\nfunction parseJobRate(rate: Job['rate']): number | null {\n if (rate === undefined) return null\n const numericRate = parseFloat(rate)\n return Number.isFinite(numericRate) ? numericRate : null\n}\n\n/**\n * Props for {@link CompensationCard}.\n *\n * @public\n */\nexport interface CompensationCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Callback invoked when the card emits an event. See the events table on {@link CompensationCard} for the available event types and payloads. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Standalone \"Compensation\" management card that displays an employee's current jobs and compensation, surfaces pending future-dated changes, and exposes edit, add, and delete affordances.\n *\n * @remarks\n * The card owns its own data fetch, the pending-change alerts and review modal, and the delete-job confirm dialog. It does not render the compensation edit or add-job forms — instead, it emits a distinct request event for each action, and the consumer routes those to {@link CompensationEditForm}, {@link CompensationAddJobForm}, or {@link CompensationAddAnotherJobForm} and renders any post-save success alerts. {@link Compensation} bundles the card, the three form surfaces, and the swap and alert wiring as a single drop-in; reach for the card directly only when that orchestration is the wrong fit (for example, when a form needs to render in a modal or drawer, or when the swap is driven by a router).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/compensation/card/editRequested` | Fired when an \"Edit\" CTA is clicked for a job | `{ employeeId: string, jobId: string }` |\n * | `employee/management/compensation/card/addRequested` | Fired when the \"Add job\" CTA is clicked from the empty state | `{ employeeId: string }` |\n * | `employee/management/compensation/card/addAnotherRequested` | Fired when the \"Add another job\" CTA is clicked | `{ employeeId: string }` |\n * | `employee/management/compensation/card/jobDeleted` | Fired after a non-primary job is deleted via the card's confirm dialog | `{ employeeId: string, jobId: string }` |\n * | `employee/management/compensation/card/changeCancelled` | Fired after a scheduled future-dated change is cancelled from the card | `{ employeeId: string, compensationId: string }` |\n *\n * @param props - See {@link CompensationCardProps}.\n * @returns The rendered compensation card.\n * @public\n * @group Block components\n */\nexport function CompensationCard({ LoaderComponent, ...props }: CompensationCardProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.Compensation\"\n LoaderComponent={LoaderComponent}\n >\n <CompensationCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction CompensationCardContent({ employeeId, onEvent, LoaderComponent }: CompensationCardProps) {\n useI18n('Employee.Management.Compensation')\n const { t } = useTranslation('Employee.Management.Compensation')\n const Components = useComponentContext()\n\n const compensation = useCompensationManagement({ employeeId })\n\n if (compensation.isLoading) {\n return (\n <BaseLayout error={compensation.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box header={<Components.BoxHeader title={t('card.title')} />}>\n <Loading />\n </Components.Box>\n </BaseLayout>\n )\n }\n\n return (\n <CompensationCardReady\n employeeId={employeeId}\n onEvent={onEvent}\n compensation={compensation}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\ninterface CompensationCardReadyProps extends CompensationCardProps {\n compensation: UseCompensationManagementReady\n}\n\nfunction CompensationCardReady({\n employeeId,\n onEvent,\n compensation,\n LoaderComponent,\n}: CompensationCardReadyProps) {\n const { t } = useTranslation('Employee.Management.Compensation')\n const Components = useComponentContext()\n const formatCompensationRate = useFormatCompensationRate()\n\n const { jobs, primaryFlsaStatus, pendingChanges, hasMultipleJobs, employeeFirstName } =\n compensation.data\n const { cancellingCompensationUuid } = compensation.status\n\n const handleCancelChange = useCallback(\n async (pendingChange: PendingCompensationChange) => {\n const result = await compensation.actions.cancelPendingChange(pendingChange)\n if (result) {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_CHANGE_CANCELLED, {\n employeeId,\n compensationId: pendingChange.compensationUuid,\n })\n }\n },\n [compensation, onEvent, employeeId],\n )\n\n const [pendingDeleteJob, setPendingDeleteJob] = useState<{\n uuid: string\n title: string\n } | null>(null)\n\n const { mutateAsync: deleteEmployeeJob, isPending: isDeletingJob } =\n useJobsAndCompensationsDeleteMutation()\n\n const handleConfirmDeleteJob = async () => {\n if (!pendingDeleteJob) return\n const jobId = pendingDeleteJob.uuid\n await deleteEmployeeJob({ request: { jobId } })\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_JOB_DELETED, {\n employeeId,\n jobId,\n })\n setPendingDeleteJob(null)\n }\n\n const singleJob = jobs.length === 1 ? jobs[0]! : undefined\n // Block adding a secondary if the primary already has a future-dated\n // compensation that isn't Nonexempt — that comp will delete secondary jobs\n // at its effective date, matching the gws-flows guard on the new-job action.\n const localTodayISO = formatDateToStringDate(new Date()) ?? ''\n const primaryJob = jobs.find(j => j.primary)\n const hasFutureNonNonexemptComp =\n primaryJob?.compensations?.some(\n c =>\n c.effectiveDate !== undefined &&\n c.effectiveDate > localTodayISO &&\n c.flsaStatus !== FlsaStatus.NONEXEMPT,\n ) ?? false\n const canAddAnotherJob =\n jobs.length >= 1 && primaryFlsaStatus === FlsaStatus.NONEXEMPT && !hasFutureNonNonexemptComp\n const singleJobNumericRate = singleJob ? parseJobRate(singleJob.rate) : null\n const singleJobCurrentComp = singleJob?.compensations?.find(\n c => c.uuid === singleJob.currentCompensationUuid,\n )\n const emptyPlaceholder = <span aria-label={t('card.listEmptyPlaceholder')}>–</span>\n const singleJobPaymentTypeLabel = singleJobCurrentComp?.flsaStatus\n ? t(`flsaStatusLabels.${singleJobCurrentComp.flsaStatus}`)\n : null\n\n const [isReviewOpen, setIsReviewOpen] = useState(false)\n const renderDetail = usePendingChangeDetailRenderer(employeeFirstName)\n\n // Split pending changes: \"new job\" (job hasn't started yet, no current comp)\n // vs \"update\" (existing comp with a scheduled future change).\n const newJobPendingChanges = pendingChanges.filter(c => c.isNewJob)\n const updatePendingChanges = pendingChanges.filter(c => !c.isNewJob)\n\n useEffect(() => {\n if (updatePendingChanges.length === 0) {\n setIsReviewOpen(false)\n }\n }, [updatePendingChanges.length])\n\n const pendingNewJobUuids = new Set(newJobPendingChanges.map(c => c.jobUuid))\n const singleJobIsPendingNew = singleJob ? pendingNewJobUuids.has(singleJob.uuid) : false\n const hasAnyPendingNewJobs = pendingNewJobUuids.size > 0\n\n // Jobs with a future-dated comp stacked on a current comp (\"pending update\").\n // Editing while one is queued would stack another future comp on top —\n // hide Edit until the existing pending change is cancelled or goes into effect.\n const pendingUpdateJobUuids = new Set(updatePendingChanges.map(c => c.jobUuid))\n const singleJobHasPendingUpdate = singleJob ? pendingUpdateJobUuids.has(singleJob.uuid) : false\n\n const hasPendingUpdates = updatePendingChanges.length > 0\n const showSummaryAlert = hasMultipleJobs && updatePendingChanges.length > 1\n const showInlineAlert = hasPendingUpdates && !showSummaryAlert\n const nextChange = updatePendingChanges[0]\n\n const handleEdit = (job: Job) => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_EDIT_REQUESTED, {\n employeeId,\n jobId: job.uuid,\n })\n }\n const handleAddJob = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_ADD_REQUESTED, { employeeId })\n }\n const handleAddAnotherJob = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_COMPENSATION_CARD_ADD_ANOTHER_REQUESTED, {\n employeeId,\n })\n }\n\n const jobsColumns = [\n {\n key: 'jobTitle',\n title: t('card.columns.jobTitle'),\n render: (job: Job) => {\n // Title lives on compensation in the API — `job.title` is a\n // denormalized snapshot that can lag behind comp-level edits on\n // pending jobs, so read from the comp pointed to by\n // `currentCompensationUuid`.\n const currentComp = job.compensations?.find(c => c.uuid === job.currentCompensationUuid)\n const numericRate = parseJobRate(job.rate)\n return (\n <>\n {currentComp?.title || '-'}\n {numericRate !== null && job.paymentUnit ? (\n <Components.Text variant=\"supporting\" size=\"sm\">\n {formatCompensationRate(numericRate, job.paymentUnit)}\n </Components.Text>\n ) : null}\n </>\n )\n },\n },\n {\n key: 'payType',\n title: t('card.columns.payType'),\n render: (job: Job) => {\n const flsaStatus = job.compensations?.find(\n comp => comp.uuid === job.currentCompensationUuid,\n )?.flsaStatus\n return flsaStatus !== undefined ? t(`flsaStatusLabels.${flsaStatus}`) : '-'\n },\n },\n {\n key: 'effectiveDate',\n title: t('card.columns.effectiveDate'),\n render: (job: Job) => {\n const currentComp = job.compensations?.find(c => c.uuid === job.currentCompensationUuid)\n return currentComp?.effectiveDate ? formatDateLongWithYear(currentComp.effectiveDate) : '-'\n },\n },\n ...(hasAnyPendingNewJobs\n ? [\n {\n key: 'status',\n title: <VisuallyHidden>{t('card.columns.status')}</VisuallyHidden>,\n render: (job: Job) =>\n pendingNewJobUuids.has(job.uuid) ? (\n <Components.Badge status=\"warning\">{t('card.pendingStatus')}</Components.Badge>\n ) : null,\n },\n ]\n : []),\n ]\n\n const jobsDataView = useDataView({\n data: jobs,\n columns: jobsColumns,\n itemMenu: (job: Job) => {\n const jobHasPendingUpdate = pendingUpdateJobUuids.has(job.uuid)\n const items = [\n ...(jobHasPendingUpdate\n ? []\n : [\n {\n label: t('card.editJobCta'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(job)\n },\n },\n ]),\n ...(!job.primary\n ? [\n {\n label: t('card.deleteJobCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n const currentComp = job.compensations?.find(\n c => c.uuid === job.currentCompensationUuid,\n )\n setPendingDeleteJob({ uuid: job.uuid, title: currentComp?.title ?? '' })\n },\n },\n ]\n : []),\n ]\n if (items.length === 0) return null\n return (\n <HamburgerMenu\n triggerLabel={t('card.hamburgerTitle')}\n isLoading={isDeletingJob}\n items={items}\n />\n )\n },\n })\n\n return (\n <BaseLayout error={compensation.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n withPadding={!hasMultipleJobs}\n header={\n <Components.BoxHeader\n title={t('card.title')}\n action={\n hasMultipleJobs ? null : singleJob ? (\n singleJobHasPendingUpdate ? null : (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n handleEdit(singleJob)\n }}\n >\n {t('card.editCta')}\n </Components.Button>\n )\n ) : (\n <Components.Button\n variant=\"secondary\"\n onClick={handleAddJob}\n icon={<PlusCircleIcon />}\n >\n {t('card.addJobCta')}\n </Components.Button>\n )\n }\n />\n }\n footer={\n canAddAnotherJob ? (\n <Components.Button\n variant=\"secondary\"\n onClick={handleAddAnotherJob}\n icon={<PlusCircleIcon />}\n >\n {t('card.addAnotherJobCta')}\n </Components.Button>\n ) : undefined\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {hasPendingUpdates && (\n <div\n className={[styles.alertWrapper, hasMultipleJobs && styles.alertWrapperPadded]\n .filter(Boolean)\n .join(' ')}\n >\n <Flex flexDirection=\"column\" gap={16}>\n {showInlineAlert && nextChange && (\n <Components.Alert\n status=\"warning\"\n disableScrollIntoView\n label={\n hasMultipleJobs\n ? t('card.pendingChange.alertLabelWithJob', {\n jobTitle: nextChange.jobTitle,\n date: formatDateLongWithYear(nextChange.effectiveDate),\n })\n : t('card.pendingChange.alertLabel', {\n date: formatDateLongWithYear(nextChange.effectiveDate),\n })\n }\n >\n <Flex flexDirection=\"column\" gap={12}>\n <Components.UnorderedList\n items={nextChange.details.map(detail => renderDetail(detail))}\n />\n <div>\n <Components.Button\n variant=\"secondary\"\n isLoading={cancellingCompensationUuid === nextChange.compensationUuid}\n onClick={() => {\n void handleCancelChange(nextChange)\n }}\n >\n {t('card.pendingChange.cancelCta')}\n </Components.Button>\n </div>\n </Flex>\n </Components.Alert>\n )}\n {showSummaryAlert && (\n <Components.Alert\n status=\"warning\"\n disableScrollIntoView\n label={t('card.pendingChange.summaryLabel', {\n name: employeeFirstName ?? '',\n })}\n action={\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n setIsReviewOpen(true)\n }}\n >\n {t('card.pendingChange.reviewCta')}\n </Components.Button>\n }\n />\n )}\n </Flex>\n </div>\n )}\n {hasMultipleJobs ? (\n <DataView label={t('card.tableLabel')} isWithinBox {...jobsDataView} />\n ) : singleJob ? (\n <Components.DescriptionList\n items={[\n {\n term: t('card.jobTitle'),\n description: singleJob.title || emptyPlaceholder,\n },\n {\n term: t('card.type'),\n description: singleJobPaymentTypeLabel || emptyPlaceholder,\n },\n {\n term: t('card.wage'),\n description:\n singleJobNumericRate !== null && singleJob.paymentUnit\n ? formatCompensationRate(singleJobNumericRate, singleJob.paymentUnit)\n : emptyPlaceholder,\n },\n {\n term: t('card.effectiveDate'),\n description: singleJobCurrentComp?.effectiveDate\n ? formatDateLongWithYear(singleJobCurrentComp.effectiveDate)\n : emptyPlaceholder,\n },\n ...(singleJobIsPendingNew\n ? [\n {\n term: t('card.columns.status'),\n description: (\n <Components.Badge status=\"warning\">\n {t('card.pendingStatus')}\n </Components.Badge>\n ),\n },\n ]\n : []),\n ]}\n />\n ) : (\n <EmptyData\n title={t('card.emptyState.title')}\n description={t('card.emptyState.description')}\n />\n )}\n </Flex>\n </Components.Box>\n\n <PendingChangesReviewModal\n isOpen={isReviewOpen}\n pendingChanges={updatePendingChanges}\n employeeFirstName={employeeFirstName}\n cancellingCompensationUuid={cancellingCompensationUuid}\n onClose={() => {\n setIsReviewOpen(false)\n }}\n onCancelChange={change => {\n void handleCancelChange(change)\n }}\n />\n\n <Components.Dialog\n isOpen={pendingDeleteJob !== null}\n onClose={() => {\n setPendingDeleteJob(null)\n }}\n onPrimaryActionClick={() => {\n void handleConfirmDeleteJob()\n }}\n isPrimaryActionLoading={isDeletingJob}\n isDestructive\n title={t('card.deleteJobDialog.title')}\n primaryActionLabel={t('card.deleteJobDialog.confirmCta')}\n closeActionLabel={t('card.deleteJobDialog.cancelCta')}\n >\n {pendingDeleteJob\n ? t('card.deleteJobDialog.description', {\n jobTitle: pendingDeleteJob.title,\n })\n : null}\n </Components.Dialog>\n </BaseLayout>\n )\n}\n"],"names":["parseJobRate","rate","numericRate","CompensationCard","LoaderComponent","props","jsx","BaseBoundaries","CompensationCardContent","employeeId","onEvent","useI18n","t","useTranslation","Components","useComponentContext","compensation","useCompensationManagement","BaseLayout","Loading","CompensationCardReady","formatCompensationRate","useFormatCompensationRate","jobs","primaryFlsaStatus","pendingChanges","hasMultipleJobs","employeeFirstName","cancellingCompensationUuid","handleCancelChange","useCallback","pendingChange","componentEvents","pendingDeleteJob","setPendingDeleteJob","useState","deleteEmployeeJob","isDeletingJob","useJobsAndCompensationsDeleteMutation","handleConfirmDeleteJob","jobId","singleJob","localTodayISO","formatDateToStringDate","hasFutureNonNonexemptComp","j","c","FlsaStatus","canAddAnotherJob","singleJobNumericRate","singleJobCurrentComp","emptyPlaceholder","singleJobPaymentTypeLabel","isReviewOpen","setIsReviewOpen","renderDetail","usePendingChangeDetailRenderer","newJobPendingChanges","updatePendingChanges","useEffect","pendingNewJobUuids","singleJobIsPendingNew","hasAnyPendingNewJobs","pendingUpdateJobUuids","singleJobHasPendingUpdate","hasPendingUpdates","showSummaryAlert","showInlineAlert","nextChange","handleEdit","job","handleAddJob","handleAddAnotherJob","jobsColumns","currentComp","jsxs","Fragment","flsaStatus","comp","formatDateLongWithYear","VisuallyHidden","jobsDataView","useDataView","items","PencilSvg","TrashCanSvg","HamburgerMenu","PlusCircleIcon","Flex","styles","detail","DataView","EmptyData","PendingChangesReviewModal","change"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { useRef as H, useMemo as w, useEffect as B } from "react";
2
- import { useForm as Te, useWatch as me } from "react-hook-form";
3
- import { zodResolver as we } from "@hookform/resolvers/zod";
1
+ import { useRef as H, useMemo as T, useEffect as B } from "react";
2
+ import { useForm as we, useWatch as me } from "react-hook-form";
3
+ import { zodResolver as Te } from "@hookform/resolvers/zod";
4
4
  import { useJobsAndCompensationsGetJobs as Re } from "@gusto/embedded-api/react-query/jobsAndCompensationsGetJobs";
5
5
  import { GetV1EmployeesEmployeeIdJobsQueryParamInclude as _e } from "@gusto/embedded-api/models/operations/getv1employeesemployeeidjobs";
6
6
  import { useJobsAndCompensationsCreateCompensationMutation as je } from "@gusto/embedded-api/react-query/jobsAndCompensationsCreateCompensation";
@@ -121,24 +121,24 @@ function Lt({
121
121
  ), O = Je(
122
122
  { employeeId: e ?? "" },
123
123
  { enabled: !!e }
124
- ), _ = Ve({ employeeId: e ?? "" }, { enabled: !!e }), p = g.data?.jobs, Q = O.data?.employeeWorkAddressesList?.find((t) => t.active), K = Q?.locationUuid, fe = _.data?.employee, j = Xe(
124
+ ), _ = Ve({ employeeId: e ?? "" }, { enabled: !!e }), p = g.data?.jobs, Q = O.data?.employeeWorkAddressesList?.find((t) => t.active), K = Q?.locationUuid, fe = _.data?.employeeShow, j = Xe(
125
125
  { locationUuid: K ?? "" },
126
126
  { enabled: !!K, staleTime: 1 / 0 }
127
- ), F = j.data?.minimumWageList ?? [], { compensation: m, job: u } = ot(
127
+ ), h = j.data?.minimumWageList ?? [], { compensation: m, job: u } = ot(
128
128
  p,
129
129
  n,
130
130
  o
131
131
  ), pe = p && u ? p.filter((t) => t.uuid !== u.uuid).length : 0, L = H(null);
132
132
  L.current === null && p !== void 0 && (L.current = p.some((t) => t.primary));
133
- const h = L.current === !0 ? st(p) : null, P = u?.hireDate ?? // Secondary jobs being created (CompensationAddAnotherJobForm) have no hireDate until the
133
+ const F = L.current === !0 ? st(p) : null, P = u?.hireDate ?? // Secondary jobs being created (CompensationAddAnotherJobForm) have no hireDate until the
134
134
  // job POST completes. Fall back to the primary job's hireDate so the schema
135
135
  // can enforce EFFECTIVE_DATE_BEFORE_HIRE during that window.
136
136
  p?.find((t) => t.primary)?.hireDate ?? null, $ = at(u).filter(
137
137
  (t) => t.uuid !== n
138
- ), Me = $.length > 0, x = rt($), c = !n, X = c ? "create" : "update", J = c && h === i.NONEXEMPT && u?.primary !== !0, A = w(() => {
138
+ ), Me = $.length > 0, x = rt($), c = !n, X = c ? "create" : "update", J = c && F === i.NONEXEMPT && u?.primary !== !0, A = T(() => {
139
139
  if (f && !(!c && u?.primary === !0))
140
140
  return nt(it(/* @__PURE__ */ new Date(), 1)) ?? void 0;
141
- }, [c, u?.primary, f]), [z, Ee] = w(
141
+ }, [c, u?.primary, f]), [z, Ee] = T(
142
142
  () => Ye({
143
143
  mode: X,
144
144
  optionalFieldsToRequire: a,
@@ -147,22 +147,22 @@ function Lt({
147
147
  withEffectiveDateField: f
148
148
  }),
149
149
  [X, a, P, A, f]
150
- ), Z = Q?.state, I = w(
150
+ ), Z = Q?.state, I = T(
151
151
  () => ({
152
152
  title: m?.title ?? s?.title ?? "",
153
153
  // When adding a secondary, the FLSA must match the primary's — force it
154
154
  // here (overriding any partner default) so the form submits the right
155
155
  // value even though `Fields.FlsaStatus` is hidden.
156
- flsaStatus: J ? h : m?.flsaStatus ?? s?.flsaStatus ?? h ?? void 0,
156
+ flsaStatus: J ? F : m?.flsaStatus ?? s?.flsaStatus ?? F ?? void 0,
157
157
  rate: Number(m?.rate ?? s?.rate ?? 0),
158
158
  adjustForMinimumWage: m?.adjustForMinimumWage ?? s?.adjustForMinimumWage ?? !1,
159
159
  minimumWageId: m?.minimumWages?.[0]?.uuid ?? s?.minimumWageId ?? "",
160
160
  paymentUnit: m?.paymentUnit ?? s?.paymentUnit ?? M.HOUR,
161
161
  effectiveDate: m?.effectiveDate ?? s?.effectiveDate ?? null
162
162
  }),
163
- [m, u, s, h, J]
164
- ), y = Te({
165
- resolver: we(z),
163
+ [m, u, s, F, J]
164
+ ), y = we({
165
+ resolver: Te(z),
166
166
  mode: E,
167
167
  shouldFocusError: v,
168
168
  defaultValues: I,
@@ -175,28 +175,28 @@ function Lt({
175
175
  B(() => {
176
176
  U(["paymentUnit", "rate"]), r === i.OWNER ? l("paymentUnit", M.PAYCHECK) : r === i.COMMISSION_ONLY_NONEXEMPT || r === i.COMMISSION_ONLY_EXEMPT ? (l("paymentUnit", M.YEAR), l("rate", 0)) : l("paymentUnit", I.paymentUnit);
177
177
  }, [r, l, U, I.paymentUnit]);
178
- const ve = u ? u.compensations?.find((t) => t.uuid === u.currentCompensationUuid) : void 0, b = (m?.flsaStatus ?? ve?.flsaStatus ?? null) === i.NONEXEMPT && r !== void 0 && r !== i.NONEXEMPT && pe > 0, T = H(!1), V = H(null);
178
+ const ve = u ? u.compensations?.find((t) => t.uuid === u.currentCompensationUuid) : void 0, b = (m?.flsaStatus ?? ve?.flsaStatus ?? null) === i.NONEXEMPT && r !== void 0 && r !== i.NONEXEMPT && pe > 0, w = H(!1), V = H(null);
179
179
  B(() => {
180
- !c && b && !T.current ? (V.current = N("effectiveDate") ?? null, l("effectiveDate", ce(), { shouldDirty: !0, shouldValidate: !1 }), T.current = !0) : !c && !b && T.current && (l("effectiveDate", V.current ?? null, {
180
+ !c && b && !w.current ? (V.current = N("effectiveDate") ?? null, l("effectiveDate", ce(), { shouldDirty: !0, shouldValidate: !1 }), w.current = !0) : !c && !b && w.current && (l("effectiveDate", V.current ?? null, {
181
181
  shouldDirty: !0,
182
182
  shouldValidate: !1
183
- }), V.current = null, T.current = !1);
183
+ }), V.current = null, w.current = !1);
184
184
  }, [c, b, N, l]);
185
185
  const te = Le(), ne = je(), ge = te.isPending || ne.isPending, {
186
186
  baseSubmitHandler: Oe,
187
187
  error: ye,
188
188
  setError: Ne
189
- } = tt("CompensationForm"), ie = Ze(e ? [g, O, _, j] : [], { submitError: ye, setSubmitError: Ne }), Y = r === i.COMMISSION_ONLY_NONEXEMPT || r === i.COMMISSION_ONLY_EXEMPT, be = r === i.OWNER, We = !J && (r !== i.NONEXEMPT || u?.primary === !0 || c), W = r === i.NONEXEMPT && F.length > 0 && Z !== void 0 && !et.includes(Z);
189
+ } = tt("CompensationForm"), ie = Ze(e ? [g, O, _, j] : [], { submitError: ye, setSubmitError: Ne }), Y = r === i.COMMISSION_ONLY_NONEXEMPT || r === i.COMMISSION_ONLY_EXEMPT, be = r === i.OWNER, We = !J && (r !== i.NONEXEMPT || u?.primary === !0 || c), W = r === i.NONEXEMPT && h.length > 0 && Z !== void 0 && !et.includes(Z);
190
190
  B(() => {
191
191
  W || (N("adjustForMinimumWage") && l("adjustForMinimumWage", !1, { shouldDirty: !0, shouldValidate: !1 }), N("minimumWageId") && l("minimumWageId", "", { shouldDirty: !0, shouldValidate: !1 }), U(["adjustForMinimumWage", "minimumWageId"]));
192
192
  }, [W, N, l, U]);
193
- const Ce = F.map((t) => ({
193
+ const Ce = h.map((t) => ({
194
194
  value: t.uuid,
195
195
  label: `${t.wage} - ${t.authority}: ${t.notes ?? ""}`
196
- })), De = xe(Ee, y.control), oe = w(
196
+ })), De = xe(Ee, y.control), oe = T(
197
197
  () => [A, P].filter((t) => !!t).reduce((t, C) => !t || C > t ? C : t, null),
198
198
  [A, P]
199
- ), Fe = lt(De, {
199
+ ), he = lt(De, {
200
200
  willDeleteSecondaryJobs: b,
201
201
  isCreateMode: c,
202
202
  isCommissionOnly: Y,
@@ -205,8 +205,8 @@ function Lt({
205
205
  effectiveDateMinDate: oe,
206
206
  maximumEffectiveDate: x,
207
207
  minimumWageOptions: Ce,
208
- minimumWages: F
209
- }), he = async (t) => {
208
+ minimumWages: h
209
+ }), Fe = async (t) => {
210
210
  let C;
211
211
  return await new Promise((se) => {
212
212
  y.handleSubmit(
@@ -269,7 +269,7 @@ function Lt({
269
269
  data: {
270
270
  compensation: m,
271
271
  currentJob: u,
272
- minimumWages: F,
272
+ minimumWages: h,
273
273
  minimumEffectiveDate: oe,
274
274
  maximumEffectiveDate: x,
275
275
  hasPendingFutureCompensation: Me
@@ -282,7 +282,7 @@ function Lt({
282
282
  showCommissionMinimumWageAlert: r === i.COMMISSION_ONLY_NONEXEMPT,
283
283
  showOwnerSalaryAlert: r === i.OWNER
284
284
  },
285
- actions: { onSubmit: he },
285
+ actions: { onSubmit: Fe },
286
286
  errorHandling: ie,
287
287
  form: {
288
288
  Fields: {
@@ -294,7 +294,7 @@ function Lt({
294
294
  MinimumWageId: W && Se ? qe : void 0,
295
295
  EffectiveDate: f ? ke : void 0
296
296
  },
297
- fieldsMetadata: Fe,
297
+ fieldsMetadata: he,
298
298
  hookFormInternals: Ae,
299
299
  getFormSubmissionValues: $e(y, z)
300
300
  }