@gusto/embedded-react-sdk 0.55.7 → 0.56.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 (379) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/dist/components/Common/FadeIn/FadeIn.module.scss.js +4 -4
  3. package/dist/components/Common/FieldCaption/FieldCaption.js +22 -18
  4. package/dist/components/Common/FieldCaption/FieldCaption.js.map +1 -1
  5. package/dist/components/Common/Flex/Flex.js +17 -15
  6. package/dist/components/Common/Flex/Flex.js.map +1 -1
  7. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
  8. package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
  9. package/dist/components/Common/UI/Heading/Heading.module.scss.js +7 -7
  10. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  11. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +43 -42
  12. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -1
  13. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  14. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
  15. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  16. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
  17. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  18. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
  19. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  20. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
  21. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  22. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  23. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  24. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +27 -27
  25. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  26. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -8
  27. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  28. package/dist/components/Company/Industry/Context.js +8 -6
  29. package/dist/components/Company/Industry/Context.js.map +1 -1
  30. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
  31. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  32. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
  33. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  34. package/dist/components/Company/OnboardingOverview/context.js +5 -3
  35. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  36. package/dist/components/Company/PaySchedule/PaySchedule.js +45 -30
  37. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  38. package/dist/components/Company/PaySchedule/PayScheduleComponents.js +12 -11
  39. package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
  40. package/dist/components/Company/PaySchedule/PayScheduleForm.js +72 -55
  41. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  42. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +24 -20
  43. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
  44. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js +33 -29
  45. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
  46. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +131 -115
  47. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  48. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
  49. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  50. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
  51. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  52. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +5 -3
  53. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  54. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +31 -29
  55. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
  56. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +110 -109
  57. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
  58. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +21 -19
  59. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -1
  60. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +56 -55
  61. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -1
  62. package/dist/components/Contractor/Dashboard/Dashboard.js +34 -33
  63. package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
  64. package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +117 -115
  65. package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
  66. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +77 -75
  67. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  68. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +44 -43
  69. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  70. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +40 -39
  71. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  72. package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +35 -29
  73. package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
  74. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +21 -20
  75. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  76. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +41 -40
  77. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  78. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +21 -20
  79. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
  80. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +33 -32
  81. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  82. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +80 -78
  83. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  84. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +44 -43
  85. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  86. package/dist/components/Contractor/Submit/Submit.js +113 -105
  87. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  88. package/dist/components/Contractor/Submit/SubmitDone.js +11 -11
  89. package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
  90. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js +20 -18
  91. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
  92. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +18 -15
  93. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
  94. package/dist/components/Employee/Dashboard/Dashboard.js +33 -32
  95. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  96. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +21 -19
  97. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
  98. package/dist/components/Employee/Documents/management/DocumentManager.js +34 -26
  99. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  100. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  101. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  102. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +30 -29
  103. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  104. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +54 -53
  105. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
  106. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +29 -28
  107. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  108. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +16 -15
  109. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
  110. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +27 -25
  111. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  112. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +121 -111
  113. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  114. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +22 -20
  115. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
  116. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +24 -23
  117. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  118. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +52 -43
  119. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  120. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +29 -26
  121. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  122. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
  123. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +19 -17
  124. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
  125. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +79 -78
  126. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  127. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +4 -4
  128. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +4 -4
  129. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +40 -39
  130. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  131. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +31 -30
  132. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  133. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +43 -41
  134. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
  135. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +20 -19
  136. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
  137. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +19 -17
  138. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
  139. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +49 -48
  140. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  141. package/dist/components/Flow/Flow.js +1 -1
  142. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +28 -28
  143. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  144. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +37 -36
  145. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  146. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +36 -35
  147. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  148. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +35 -28
  149. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  150. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +23 -22
  151. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  152. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +48 -45
  153. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  154. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +85 -77
  155. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  156. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +63 -59
  157. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  158. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js +23 -21
  159. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
  160. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js +26 -19
  161. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
  162. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +14 -12
  163. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  164. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +184 -162
  165. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  166. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +67 -65
  167. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  168. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js +48 -34
  169. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js.map +1 -1
  170. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +43 -41
  171. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  172. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +225 -223
  173. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  174. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +78 -75
  175. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
  176. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +27 -27
  177. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
  178. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js +19 -19
  179. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js.map +1 -1
  180. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +51 -48
  181. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
  182. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +58 -48
  183. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  184. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +58 -57
  185. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  186. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +83 -69
  187. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  188. package/dist/components/Payroll/PayrollList/PayrollList.js +62 -60
  189. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  190. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +119 -117
  191. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  192. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +187 -171
  193. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  194. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +120 -110
  195. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  196. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js +45 -34
  197. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js.map +1 -1
  198. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +20 -14
  199. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
  200. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +62 -61
  201. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  202. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +14 -14
  203. package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js +24 -17
  204. package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js.map +1 -1
  205. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +22 -22
  206. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -1
  207. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +88 -80
  208. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
  209. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +52 -37
  210. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
  211. package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js +26 -26
  212. package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js.map +1 -1
  213. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +32 -32
  214. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  215. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +50 -48
  216. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  217. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +34 -33
  218. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
  219. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
  220. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +28 -24
  221. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
  222. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +255 -228
  223. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
  224. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +8 -4
  225. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
  226. package/dist/components/Payroll/usePreparedPayrollData.js +10 -8
  227. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  228. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js +5 -5
  229. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
  230. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js +8 -7
  231. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
  232. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +51 -50
  233. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
  234. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +20 -18
  235. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
  236. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +51 -49
  237. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
  238. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js +20 -20
  239. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
  240. package/dist/components/TimeOff/PolicyList/PolicyList.js +50 -49
  241. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  242. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +34 -33
  243. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
  244. package/dist/components/TimeOff/PolicySettings/PolicySettings.js +46 -45
  245. package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
  246. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +152 -143
  247. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
  248. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +14 -13
  249. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
  250. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +44 -35
  251. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
  252. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +88 -71
  253. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  254. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +164 -155
  255. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  256. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +57 -55
  257. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  258. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +25 -24
  259. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
  260. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +94 -92
  261. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  262. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +156 -155
  263. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  264. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +21 -19
  265. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
  266. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +28 -26
  267. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
  268. package/dist/contexts/ApiProvider/ApiProvider.js +29 -28
  269. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  270. package/dist/contexts/ApiProvider/apiVersionMismatchHook.js +15 -0
  271. package/dist/contexts/ApiProvider/apiVersionMismatchHook.js.map +1 -0
  272. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  273. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  274. package/dist/contexts/ThemeProvider/ThemeProvider.js +32 -26
  275. package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
  276. package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
  277. package/dist/hooks/usePollingTask/usePollingTask.js +53 -41
  278. package/dist/hooks/usePollingTask/usePollingTask.js.map +1 -1
  279. package/dist/i18n/en/Company.PaySchedule.json.js +22 -20
  280. package/dist/i18n/en/Company.PaySchedule.json.js.map +1 -1
  281. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +28 -24
  282. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
  283. package/dist/i18n/en/Payroll.GrossUpModal.json.js +12 -10
  284. package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -1
  285. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +8 -8
  286. package/dist/i18n/en/Payroll.PayrollOverview.json.js +15 -15
  287. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js +62 -58
  288. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -1
  289. package/dist/package.json.js +1 -1
  290. package/dist/src/components/Common/FieldCaption/FieldCaption.d.ts +2 -16
  291. package/dist/src/components/Common/FieldCaption/FieldCaptionTypes.d.ts +22 -0
  292. package/dist/src/components/Common/FieldCaption/index.d.ts +1 -0
  293. package/dist/src/components/Common/Flex/Flex.d.ts +3 -1
  294. package/dist/src/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +1 -1
  295. package/dist/src/components/Common/UI/DatePicker/DatePickerTypes.d.ts +2 -1
  296. package/dist/src/components/Common/UI/Menu/MenuTypes.d.ts +1 -1
  297. package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.d.ts +1 -1
  298. package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +5 -0
  299. package/dist/src/components/Common/UI/Select/SelectTypes.d.ts +2 -1
  300. package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +10 -2
  301. package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +1 -0
  302. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +9 -1
  303. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/index.d.ts +2 -2
  304. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +21 -5
  305. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +21 -3
  306. package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +3 -1
  307. package/dist/src/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +3 -1
  308. package/dist/src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +3 -1
  309. package/dist/src/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +3 -1
  310. package/dist/src/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +3 -1
  311. package/dist/src/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +3 -1
  312. package/dist/src/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +3 -1
  313. package/dist/src/components/Contractor/Submit/SubmitDone.d.ts +3 -1
  314. package/dist/src/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -1
  315. package/dist/src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +3 -1
  316. package/dist/src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +3 -1
  317. package/dist/src/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +3 -1
  318. package/dist/src/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +3 -1
  319. package/dist/src/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +11 -2
  320. package/dist/src/components/Employee/EmployeeListFlow/employeeListStateMachine.test.d.ts +1 -0
  321. package/dist/src/components/Employee/HomeAddress/management/HomeAddressView.d.ts +3 -1
  322. package/dist/src/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +3 -1
  323. package/dist/src/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.d.ts +3 -1
  324. package/dist/src/components/Employee/WorkAddress/management/WorkAddressView.d.ts +3 -1
  325. package/dist/src/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +3 -1
  326. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
  327. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +8 -0
  328. package/dist/src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +3 -1
  329. package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -1
  330. package/dist/src/components/Payroll/PayrollConfiguration/useCalculationPoll.d.ts +6 -1
  331. package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +3 -1
  332. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +9 -9
  333. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +2 -2
  334. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.d.ts +4 -4
  335. package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +3 -1
  336. package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +3 -1
  337. package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +2 -1
  338. package/dist/src/components/Payroll/PayrollOverview/useSubmissionPoll.d.ts +10 -1
  339. package/dist/src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +2 -1
  340. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +1 -1
  341. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +2 -0
  342. package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +3 -1
  343. package/dist/src/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts +1 -1
  344. package/dist/src/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +1 -1
  345. package/dist/src/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +1 -1
  346. package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -1
  347. package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +2 -0
  348. package/dist/src/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +2 -0
  349. package/dist/src/components/TimeOff/PolicyList/PolicyListPresentation.d.ts +1 -1
  350. package/dist/src/components/TimeOff/PolicyList/PolicyListTypes.d.ts +2 -0
  351. package/dist/src/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +1 -1
  352. package/dist/src/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +2 -0
  353. package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -1
  354. package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +2 -0
  355. package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
  356. package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
  357. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +2 -0
  358. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
  359. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +2 -0
  360. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +2 -0
  361. package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +1 -1
  362. package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +3 -0
  363. package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -1
  364. package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +2 -0
  365. package/dist/src/contexts/ApiProvider/ApiProvider.d.ts +5 -3
  366. package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.d.ts +3 -0
  367. package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.test.d.ts +1 -0
  368. package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
  369. package/dist/src/contexts/ComponentAdapter/useComponentContext.d.ts +4 -1
  370. package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +9 -1
  371. package/dist/src/contexts/ThemeProvider/ThemeProvider.d.ts +8 -3
  372. package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +4 -1
  373. package/dist/src/hooks/usePollingTask/usePollingTask.d.ts +55 -14
  374. package/dist/src/i18n/types.d.ts +42 -2
  375. package/dist/src/index.d.ts +1 -1
  376. package/dist/src/models/external.d.ts +1 -0
  377. package/dist/style.css +1 -1
  378. package/docs/guides/endpoint-inventory.json +5 -0
  379. package/package.json +20 -19
@@ -1,22 +1,33 @@
1
- import { useRef as p, useCallback as y } from "react";
2
- import { PayrollProcessingRequestStatus as o } from "@gusto/embedded-api/models/components/payrollprocessingrequest";
3
- import { usePollingTask as g } from "../../../hooks/usePollingTask/usePollingTask.js";
4
- const C = (a) => a?.status === o.Calculating, c = (a, l) => l != null && (a?.status === o.CalculateSuccess || a == null), h = (a, l) => {
5
- const e = a.payrollShow;
6
- if (C(e?.processingRequest))
7
- return l && (l.sawCalculatingThisPoll = !0), { done: !1 };
8
- if (e?.processingRequest?.status === o.ProcessingFailed)
9
- return { done: !0, value: { type: "failed", payroll: e } };
10
- const s = e?.calculatedAt;
11
- return (l?.sawCalculatingThisPoll === !0 || s?.getTime() !== l?.baselineCalculatedAt) && c(e?.processingRequest, s) ? { done: !0, value: { type: "calculated", payroll: e } } : { done: !1 };
1
+ import { useRef as C, useCallback as P } from "react";
2
+ import { PayrollProcessingRequestStatus as n } from "@gusto/embedded-api/models/components/payrollprocessingrequest";
3
+ import { usePollingTask as m, isNonRetryablePollError as h } from "../../../hooks/usePollingTask/usePollingTask.js";
4
+ import { useObservability as w } from "../../../contexts/ObservabilityProvider/useObservability.js";
5
+ import { normalizeToSDKError as v } from "../../../types/sdkError.js";
6
+ const E = "Payroll.PayrollConfiguration", R = (l) => l?.status === n.Calculating, c = (l, a) => a != null && (l?.status === n.CalculateSuccess || l == null), f = (l) => {
7
+ const a = l?.payrollShow;
8
+ return c(a?.processingRequest, a?.calculatedAt) ? { type: "calculated", payroll: a } : { type: "failed", payroll: a };
9
+ }, b = (l, a) => {
10
+ if (!l.success) {
11
+ if (!h(l.error)) return { status: "polling" };
12
+ const s = f(l.lastData);
13
+ return s.type === "calculated" ? { status: "done", value: s } : { status: "error", error: l.error };
14
+ }
15
+ const e = l.data.payrollShow;
16
+ if (R(e?.processingRequest))
17
+ return a && (a.sawCalculatingThisPoll = !0), { status: "polling" };
18
+ if (e?.processingRequest?.status === n.ProcessingFailed)
19
+ return { status: "done", value: { type: "failed", payroll: e } };
20
+ const r = e?.calculatedAt;
21
+ return (a?.sawCalculatingThisPoll === !0 || r?.getTime() !== a?.baselineCalculatedAt) && c(e?.processingRequest, r) ? { status: "done", value: { type: "calculated", payroll: e } } : { status: "polling" };
12
22
  };
13
- function S({
14
- refetch: a,
15
- onCalculated: l,
16
- onProcessingFailed: e
23
+ function q({
24
+ refetch: l,
25
+ onCalculated: a,
26
+ onProcessingFailed: e,
27
+ onError: r
17
28
  }) {
18
- const s = p(null), r = async () => {
19
- const t = await a();
29
+ const o = C(null), { observability: s } = w(), p = async () => {
30
+ const t = await l();
20
31
  if (t.status !== "success") throw t.error ?? new Error("Payroll refetch failed");
21
32
  return t.data;
22
33
  }, i = (t) => {
@@ -24,29 +35,32 @@ function S({
24
35
  e(t.payroll);
25
36
  return;
26
37
  }
27
- l(t.payroll);
28
- }, f = (t) => {
29
- const n = t?.payrollShow;
30
- if (c(n?.processingRequest, n?.calculatedAt)) {
31
- l(n);
32
- return;
33
- }
34
- e(n);
35
- }, { start: u, isPolling: d } = g({
36
- fetch: r,
37
- evaluate: (t) => h(t, s.current),
38
+ a(t.payroll);
39
+ }, d = (t) => {
40
+ i(f(t));
41
+ }, { start: u, isPolling: y } = m({
42
+ fetch: p,
43
+ evaluate: (t) => b(t, o.current),
38
44
  onDone: i,
39
- onDeadline: f
45
+ onError: (t) => {
46
+ const g = v(t);
47
+ s?.onError?.({
48
+ ...g,
49
+ timestamp: Date.now(),
50
+ componentName: E
51
+ }), r();
52
+ },
53
+ onDeadline: d
40
54
  });
41
- return { start: y(
55
+ return { start: P(
42
56
  (t) => {
43
- s.current = t, u();
57
+ o.current = t, u();
44
58
  },
45
59
  [u]
46
- ), isPolling: d };
60
+ ), isPolling: y };
47
61
  }
48
62
  export {
49
- C as isCalculatingStatus,
50
- S as useCalculationPoll
63
+ R as isCalculatingStatus,
64
+ q as useCalculationPoll
51
65
  };
52
66
  //# sourceMappingURL=useCalculationPoll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCalculationPoll.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/useCalculationPoll.ts"],"sourcesContent":["import { useCallback, useRef } from 'react'\nimport type {\n PayrollsGetQueryData,\n PayrollsGetQueryError,\n} from '@gusto/embedded-api/react-query/payrollsGet'\nimport type { QueryObserverResult } from '@tanstack/react-query'\nimport type { PayrollProcessingRequest } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { PayrollProcessingRequestStatus } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { usePollingTask, type PollTickResult } from '@/hooks/usePollingTask/usePollingTask'\n\n/** @internal */\nexport type PayrollShow = NonNullable<PayrollsGetQueryData['payrollShow']>\n\ntype CalculationOutcome =\n | { type: 'calculated'; payroll: PayrollShow | undefined }\n | { type: 'failed'; payroll: PayrollShow | undefined }\n\n/**\n * Per-run state for the calculation poll. Written when a run starts and read only from inside\n * the poll loop — never during render, which is what made the previous `previousCalculatedAtRef`\n * completion gate depend on a render arriving.\n */\ninterface CalculationPollRun {\n /**\n * Fast calculations may transition directly to `CalculateSuccess` between ticks, without ever\n * seeing the `Calculating` status.\n * If we know the previous `calculatedAt` timestamp and it changes, we know our polling can resolve.\n */\n baselineCalculatedAt: number | null\n /**\n * The API contract guarantees no relationship between `processingRequest.status` and `calculatedAt` —\n * a deduped/coalesced calculate can legitimately return `CalculateSuccess` with the exact same\n * `calculatedAt` as the baseline captured when this run started.\n * If we have seen `Calculating` status during this run, and it changes to `CalculateSuccess`,\n * we know our polling can resolve even if the timestamp hasn't changed.\n */\n sawCalculatingThisPoll: boolean\n}\n\n/** @internal */\nexport const isCalculatingStatus = (processingRequest?: PayrollProcessingRequest | null) =>\n processingRequest?.status === PayrollProcessingRequestStatus.Calculating\n\nconst isCalculatedStatus = (\n processingRequest?: PayrollProcessingRequest | null,\n calculatedAt?: Date | null,\n) =>\n calculatedAt != null &&\n (processingRequest?.status === PayrollProcessingRequestStatus.CalculateSuccess ||\n processingRequest == null)\n\nconst evaluateCalculationOutcome = (\n data: PayrollsGetQueryData,\n run: CalculationPollRun | null,\n): PollTickResult<CalculationOutcome> => {\n const payroll = data.payrollShow\n\n if (isCalculatingStatus(payroll?.processingRequest)) {\n if (run) run.sawCalculatingThisPoll = true\n return { done: false }\n }\n\n if (payroll?.processingRequest?.status === PayrollProcessingRequestStatus.ProcessingFailed) {\n return { done: true, value: { type: 'failed', payroll } }\n }\n\n const calculatedAt = payroll?.calculatedAt\n const isNewCalculation =\n run?.sawCalculatingThisPoll === true || calculatedAt?.getTime() !== run?.baselineCalculatedAt\n\n if (isNewCalculation && isCalculatedStatus(payroll?.processingRequest, calculatedAt)) {\n return { done: true, value: { type: 'calculated', payroll } }\n }\n\n return { done: false }\n}\n\n/** @internal */\nexport interface UseCalculationPollOptions {\n /**\n * The render-driving payroll query's own `refetch`, reused so the poll's reads land on the\n * same query the component observes rather than racing a second, independently-built one.\n */\n refetch: () => Promise<QueryObserverResult<PayrollsGetQueryData, PayrollsGetQueryError>>\n onCalculated: (payroll: PayrollShow | undefined) => void\n onProcessingFailed: (payroll: PayrollShow | undefined) => void\n}\n\n/** @internal */\nexport interface CalculationPoll {\n start: (props: CalculationPollRun) => void\n isPolling: boolean\n}\n\n/**\n * Polls a payroll until its calculation reaches a terminal state, via {@link usePollingTask}.\n *\n * @internal\n */\nexport function useCalculationPoll({\n refetch,\n onCalculated,\n onProcessingFailed,\n}: UseCalculationPollOptions): CalculationPoll {\n const pollRunRef = useRef<CalculationPollRun | null>(null)\n\n const fetchPayroll = async (): Promise<PayrollsGetQueryData> => {\n const result = await refetch()\n if (result.status !== 'success') throw result.error ?? new Error('Payroll refetch failed')\n return result.data\n }\n\n const handleDone = (outcome: CalculationOutcome) => {\n if (outcome.type === 'failed') {\n onProcessingFailed(outcome.payroll)\n return\n }\n onCalculated(outcome.payroll)\n }\n\n // The server is the source of truth. A calculation that succeeded while we were waiting must\n // never be reported as a failure — that reported false failures for payrolls that had\n // calculated fine, and re-armed the prepare that would then wipe the result (SDK-1291).\n // Advancing on a stale success is the safer of the two wrong answers: the next screen re-reads\n // the payroll, whereas a false failure destroys real data.\n const handleDeadline = (lastData: PayrollsGetQueryData | null) => {\n const payroll = lastData?.payrollShow\n if (isCalculatedStatus(payroll?.processingRequest, payroll?.calculatedAt)) {\n onCalculated(payroll)\n return\n }\n onProcessingFailed(payroll)\n }\n\n const { start: startPoll, isPolling } = usePollingTask<PayrollsGetQueryData, CalculationOutcome>({\n fetch: fetchPayroll,\n evaluate: data => evaluateCalculationOutcome(data, pollRunRef.current),\n onDone: handleDone,\n onDeadline: handleDeadline,\n })\n\n const start = useCallback(\n (run: CalculationPollRun) => {\n pollRunRef.current = run\n startPoll()\n },\n [startPoll],\n )\n\n return { start, isPolling }\n}\n"],"names":["isCalculatingStatus","processingRequest","PayrollProcessingRequestStatus","isCalculatedStatus","calculatedAt","evaluateCalculationOutcome","data","run","payroll","useCalculationPoll","refetch","onCalculated","onProcessingFailed","pollRunRef","useRef","fetchPayroll","result","handleDone","outcome","handleDeadline","lastData","startPoll","isPolling","usePollingTask","useCallback"],"mappings":";;;AAwCO,MAAMA,IAAsB,CAACC,MAClCA,GAAmB,WAAWC,EAA+B,aAEzDC,IAAqB,CACzBF,GACAG,MAEAA,KAAgB,SACfH,GAAmB,WAAWC,EAA+B,oBAC5DD,KAAqB,OAEnBI,IAA6B,CACjCC,GACAC,MACuC;AACvC,QAAMC,IAAUF,EAAK;AAErB,MAAIN,EAAoBQ,GAAS,iBAAiB;AAChD,WAAID,QAAS,yBAAyB,KAC/B,EAAE,MAAM,GAAA;AAGjB,MAAIC,GAAS,mBAAmB,WAAWN,EAA+B;AACxE,WAAO,EAAE,MAAM,IAAM,OAAO,EAAE,MAAM,UAAU,SAAAM,IAAQ;AAGxD,QAAMJ,IAAeI,GAAS;AAI9B,UAFED,GAAK,2BAA2B,MAAQH,GAAc,QAAA,MAAcG,GAAK,yBAEnDJ,EAAmBK,GAAS,mBAAmBJ,CAAY,IAC1E,EAAE,MAAM,IAAM,OAAO,EAAE,MAAM,cAAc,SAAAI,IAAQ,IAGrD,EAAE,MAAM,GAAA;AACjB;AAwBO,SAASC,EAAmB;AAAA,EACjC,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,oBAAAC;AACF,GAA+C;AAC7C,QAAMC,IAAaC,EAAkC,IAAI,GAEnDC,IAAe,YAA2C;AAC9D,UAAMC,IAAS,MAAMN,EAAA;AACrB,QAAIM,EAAO,WAAW,UAAW,OAAMA,EAAO,SAAS,IAAI,MAAM,wBAAwB;AACzF,WAAOA,EAAO;AAAA,EAChB,GAEMC,IAAa,CAACC,MAAgC;AAClD,QAAIA,EAAQ,SAAS,UAAU;AAC7B,MAAAN,EAAmBM,EAAQ,OAAO;AAClC;AAAA,IACF;AACA,IAAAP,EAAaO,EAAQ,OAAO;AAAA,EAC9B,GAOMC,IAAiB,CAACC,MAA0C;AAChE,UAAMZ,IAAUY,GAAU;AAC1B,QAAIjB,EAAmBK,GAAS,mBAAmBA,GAAS,YAAY,GAAG;AACzE,MAAAG,EAAaH,CAAO;AACpB;AAAA,IACF;AACA,IAAAI,EAAmBJ,CAAO;AAAA,EAC5B,GAEM,EAAE,OAAOa,GAAW,WAAAC,EAAA,IAAcC,EAAyD;AAAA,IAC/F,OAAOR;AAAA,IACP,UAAU,CAAAT,MAAQD,EAA2BC,GAAMO,EAAW,OAAO;AAAA,IACrE,QAAQI;AAAA,IACR,YAAYE;AAAA,EAAA,CACb;AAUD,SAAO,EAAE,OARKK;AAAA,IACZ,CAACjB,MAA4B;AAC3B,MAAAM,EAAW,UAAUN,GACrBc,EAAA;AAAA,IACF;AAAA,IACA,CAACA,CAAS;AAAA,EAAA,GAGI,WAAAC,EAAA;AAClB;"}
1
+ {"version":3,"file":"useCalculationPoll.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/useCalculationPoll.ts"],"sourcesContent":["import { useCallback, useRef } from 'react'\nimport type {\n PayrollsGetQueryData,\n PayrollsGetQueryError,\n} from '@gusto/embedded-api/react-query/payrollsGet'\nimport type { QueryObserverResult } from '@tanstack/react-query'\nimport type { PayrollProcessingRequest } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { PayrollProcessingRequestStatus } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport {\n usePollingTask,\n isNonRetryablePollError,\n type PollReadOutcome,\n type PollTickResult,\n} from '@/hooks/usePollingTask/usePollingTask'\nimport { useObservability } from '@/contexts/ObservabilityProvider/useObservability'\nimport { normalizeToSDKError } from '@/types/sdkError'\n\nconst COMPONENT_NAME = 'Payroll.PayrollConfiguration'\n\n/** @internal */\nexport type PayrollShow = NonNullable<PayrollsGetQueryData['payrollShow']>\n\ntype CalculationOutcome =\n | { type: 'calculated'; payroll: PayrollShow | undefined }\n | { type: 'failed'; payroll: PayrollShow | undefined }\n\n/**\n * Per-run state for the calculation poll. Written when a run starts and read only from inside\n * the poll loop — never during render, which is what made the previous `previousCalculatedAtRef`\n * completion gate depend on a render arriving.\n */\ninterface CalculationPollRun {\n /**\n * Fast calculations may transition directly to `CalculateSuccess` between ticks, without ever\n * seeing the `Calculating` status.\n * If we know the previous `calculatedAt` timestamp and it changes, we know our polling can resolve.\n */\n baselineCalculatedAt: number | null\n /**\n * The API contract guarantees no relationship between `processingRequest.status` and `calculatedAt` —\n * a deduped/coalesced calculate can legitimately return `CalculateSuccess` with the exact same\n * `calculatedAt` as the baseline captured when this run started.\n * If we have seen `Calculating` status during this run, and it changes to `CalculateSuccess`,\n * we know our polling can resolve even if the timestamp hasn't changed.\n */\n sawCalculatingThisPoll: boolean\n}\n\n/** @internal */\nexport const isCalculatingStatus = (processingRequest?: PayrollProcessingRequest | null) =>\n processingRequest?.status === PayrollProcessingRequestStatus.Calculating\n\nconst isCalculatedStatus = (\n processingRequest?: PayrollProcessingRequest | null,\n calculatedAt?: Date | null,\n) =>\n calculatedAt != null &&\n (processingRequest?.status === PayrollProcessingRequestStatus.CalculateSuccess ||\n processingRequest == null)\n\n// A calculation that succeeded must never be reported as a failure just because we stopped\n// reading it (deadline, or a non-retryable error) — a false failure re-arms prepare, which would\n// then wipe the result. Advancing on a stale success is the safer of the two wrong answers: the\n// next screen re-reads the payroll, whereas a false failure destroys real data.\nconst verifiedCalculationOutcome = (lastData: PayrollsGetQueryData | null): CalculationOutcome => {\n const payroll = lastData?.payrollShow\n if (isCalculatedStatus(payroll?.processingRequest, payroll?.calculatedAt)) {\n return { type: 'calculated', payroll }\n }\n return { type: 'failed', payroll }\n}\n\nconst evaluateCalculationOutcome = (\n outcome: PollReadOutcome<PayrollsGetQueryData>,\n run: CalculationPollRun | null,\n): PollTickResult<CalculationOutcome> => {\n if (!outcome.success) {\n if (!isNonRetryablePollError(outcome.error)) return { status: 'polling' }\n // Rescue a success the freshness check above missed (e.g. a same-tick calculatedAt match\n // with baseline); never rescue a failure this way -- an unconfirmed read must stay 'error',\n // not 'done', so it doesn't reset hasSeenCalculatingRef.\n const verified = verifiedCalculationOutcome(outcome.lastData)\n if (verified.type === 'calculated') return { status: 'done', value: verified }\n return { status: 'error', error: outcome.error }\n }\n\n const payroll = outcome.data.payrollShow\n\n if (isCalculatingStatus(payroll?.processingRequest)) {\n if (run) run.sawCalculatingThisPoll = true\n return { status: 'polling' }\n }\n\n if (payroll?.processingRequest?.status === PayrollProcessingRequestStatus.ProcessingFailed) {\n return { status: 'done', value: { type: 'failed', payroll } }\n }\n\n const calculatedAt = payroll?.calculatedAt\n const isNewCalculation =\n run?.sawCalculatingThisPoll === true || calculatedAt?.getTime() !== run?.baselineCalculatedAt\n\n if (isNewCalculation && isCalculatedStatus(payroll?.processingRequest, calculatedAt)) {\n return { status: 'done', value: { type: 'calculated', payroll } }\n }\n\n return { status: 'polling' }\n}\n\n/** @internal */\nexport interface UseCalculationPollOptions {\n /**\n * The render-driving payroll query's own `refetch`, reused so the poll's reads land on the\n * same query the component observes rather than racing a second, independently-built one.\n */\n refetch: () => Promise<QueryObserverResult<PayrollsGetQueryData, PayrollsGetQueryError>>\n onCalculated: (payroll: PayrollShow | undefined) => void\n onProcessingFailed: (payroll: PayrollShow | undefined) => void\n /**\n * Called when the poll gives up on a non-retryable read error, without ever confirming a\n * calculated/failed outcome. The raw error is reported to observability by this hook already.\n */\n onError: () => void\n}\n\n/** @internal */\nexport interface CalculationPoll {\n start: (props: CalculationPollRun) => void\n isPolling: boolean\n}\n\n/**\n * Polls a payroll until its calculation reaches a terminal state, via {@link usePollingTask}.\n *\n * @internal\n */\nexport function useCalculationPoll({\n refetch,\n onCalculated,\n onProcessingFailed,\n onError,\n}: UseCalculationPollOptions): CalculationPoll {\n const pollRunRef = useRef<CalculationPollRun | null>(null)\n const { observability } = useObservability()\n\n const fetchPayroll = async (): Promise<PayrollsGetQueryData> => {\n const result = await refetch()\n if (result.status !== 'success') throw result.error ?? new Error('Payroll refetch failed')\n return result.data\n }\n\n const handleDone = (outcome: CalculationOutcome) => {\n if (outcome.type === 'failed') {\n onProcessingFailed(outcome.payroll)\n return\n }\n onCalculated(outcome.payroll)\n }\n\n const handleDeadline = (lastData: PayrollsGetQueryData | null) => {\n handleDone(verifiedCalculationOutcome(lastData))\n }\n\n const { start: startPoll, isPolling } = usePollingTask<PayrollsGetQueryData, CalculationOutcome>({\n fetch: fetchPayroll,\n evaluate: outcome => evaluateCalculationOutcome(outcome, pollRunRef.current),\n onDone: handleDone,\n onError: error => {\n const sdkError = normalizeToSDKError(error)\n observability?.onError?.({\n ...sdkError,\n timestamp: Date.now(),\n componentName: COMPONENT_NAME,\n })\n onError()\n },\n onDeadline: handleDeadline,\n })\n\n const start = useCallback(\n (run: CalculationPollRun) => {\n pollRunRef.current = run\n startPoll()\n },\n [startPoll],\n )\n\n return { start, isPolling }\n}\n"],"names":["COMPONENT_NAME","isCalculatingStatus","processingRequest","PayrollProcessingRequestStatus","isCalculatedStatus","calculatedAt","verifiedCalculationOutcome","lastData","payroll","evaluateCalculationOutcome","outcome","run","isNonRetryablePollError","verified","useCalculationPoll","refetch","onCalculated","onProcessingFailed","onError","pollRunRef","useRef","observability","useObservability","fetchPayroll","result","handleDone","handleDeadline","startPoll","isPolling","usePollingTask","error","sdkError","normalizeToSDKError","useCallback"],"mappings":";;;;;AAiBA,MAAMA,IAAiB,gCAgCVC,IAAsB,CAACC,MAClCA,GAAmB,WAAWC,EAA+B,aAEzDC,IAAqB,CACzBF,GACAG,MAEAA,KAAgB,SACfH,GAAmB,WAAWC,EAA+B,oBAC5DD,KAAqB,OAMnBI,IAA6B,CAACC,MAA8D;AAChG,QAAMC,IAAUD,GAAU;AAC1B,SAAIH,EAAmBI,GAAS,mBAAmBA,GAAS,YAAY,IAC/D,EAAE,MAAM,cAAc,SAAAA,EAAA,IAExB,EAAE,MAAM,UAAU,SAAAA,EAAA;AAC3B,GAEMC,IAA6B,CACjCC,GACAC,MACuC;AACvC,MAAI,CAACD,EAAQ,SAAS;AACpB,QAAI,CAACE,EAAwBF,EAAQ,KAAK,EAAG,QAAO,EAAE,QAAQ,UAAA;AAI9D,UAAMG,IAAWP,EAA2BI,EAAQ,QAAQ;AAC5D,WAAIG,EAAS,SAAS,eAAqB,EAAE,QAAQ,QAAQ,OAAOA,EAAA,IAC7D,EAAE,QAAQ,SAAS,OAAOH,EAAQ,MAAA;AAAA,EAC3C;AAEA,QAAMF,IAAUE,EAAQ,KAAK;AAE7B,MAAIT,EAAoBO,GAAS,iBAAiB;AAChD,WAAIG,QAAS,yBAAyB,KAC/B,EAAE,QAAQ,UAAA;AAGnB,MAAIH,GAAS,mBAAmB,WAAWL,EAA+B;AACxE,WAAO,EAAE,QAAQ,QAAQ,OAAO,EAAE,MAAM,UAAU,SAAAK,IAAQ;AAG5D,QAAMH,IAAeG,GAAS;AAI9B,UAFEG,GAAK,2BAA2B,MAAQN,GAAc,QAAA,MAAcM,GAAK,yBAEnDP,EAAmBI,GAAS,mBAAmBH,CAAY,IAC1E,EAAE,QAAQ,QAAQ,OAAO,EAAE,MAAM,cAAc,SAAAG,IAAQ,IAGzD,EAAE,QAAQ,UAAA;AACnB;AA6BO,SAASM,EAAmB;AAAA,EACjC,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,SAAAC;AACF,GAA+C;AAC7C,QAAMC,IAAaC,EAAkC,IAAI,GACnD,EAAE,eAAAC,EAAA,IAAkBC,EAAA,GAEpBC,IAAe,YAA2C;AAC9D,UAAMC,IAAS,MAAMT,EAAA;AACrB,QAAIS,EAAO,WAAW,UAAW,OAAMA,EAAO,SAAS,IAAI,MAAM,wBAAwB;AACzF,WAAOA,EAAO;AAAA,EAChB,GAEMC,IAAa,CAACf,MAAgC;AAClD,QAAIA,EAAQ,SAAS,UAAU;AAC7B,MAAAO,EAAmBP,EAAQ,OAAO;AAClC;AAAA,IACF;AACA,IAAAM,EAAaN,EAAQ,OAAO;AAAA,EAC9B,GAEMgB,IAAiB,CAACnB,MAA0C;AAChE,IAAAkB,EAAWnB,EAA2BC,CAAQ,CAAC;AAAA,EACjD,GAEM,EAAE,OAAOoB,GAAW,WAAAC,EAAA,IAAcC,EAAyD;AAAA,IAC/F,OAAON;AAAA,IACP,UAAU,CAAAb,MAAWD,EAA2BC,GAASS,EAAW,OAAO;AAAA,IAC3E,QAAQM;AAAA,IACR,SAAS,CAAAK,MAAS;AAChB,YAAMC,IAAWC,EAAoBF,CAAK;AAC1C,MAAAT,GAAe,UAAU;AAAA,QACvB,GAAGU;AAAA,QACH,WAAW,KAAK,IAAA;AAAA,QAChB,eAAe/B;AAAA,MAAA,CAChB,GACDkB,EAAA;AAAA,IACF;AAAA,IACA,YAAYQ;AAAA,EAAA,CACb;AAUD,SAAO,EAAE,OARKO;AAAA,IACZ,CAACtB,MAA4B;AAC3B,MAAAQ,EAAW,UAAUR,GACrBgB,EAAA;AAAA,IACF;AAAA,IACA,CAACA,CAAS;AAAA,EAAA,GAGI,WAAAC,EAAA;AAClB;"}
@@ -1,39 +1,40 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { useEmployeesGetSuspense as k } from "@gusto/embedded-api/react-query/employeesGet";
3
- import { useEmployeePaymentMethodsGetBankAccountsSuspense as B } from "@gusto/embedded-api/react-query/employeePaymentMethodsGetBankAccounts";
4
- import { usePayrollsUpdateMutation as v } from "@gusto/embedded-api/react-query/payrollsUpdate";
5
- import { useMemo as x } from "react";
6
- import { useQueryClient as N } from "@tanstack/react-query";
7
- import { usePreparedPayrollData as q } from "../usePreparedPayrollData.js";
8
- import { PREPARE_QUERY_KEY as w } from "../PayrollConfiguration/usePayrollConfigurationData.js";
9
- import { derivePayrollCategory as M, isOffCyclePayroll as Q } from "../payrollTypes.js";
10
- import { cleanupReimbursements as T } from "../helpers.js";
11
- import { UNSTABLE_PayrollEditEmployee as z } from "../UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js";
12
- import { PayrollEditEmployeePresentation as G } from "./PayrollEditEmployeePresentation.js";
13
- import { useUnstableFeature as H } from "../../../contexts/UnstableFeaturesProvider/useUnstableFeature.js";
2
+ import { useEmployeesGetSuspense as B } from "@gusto/embedded-api/react-query/employeesGet";
3
+ import { useEmployeePaymentMethodsGetBankAccountsSuspense as v } from "@gusto/embedded-api/react-query/employeePaymentMethodsGetBankAccounts";
4
+ import { usePayrollsUpdateMutation as x } from "@gusto/embedded-api/react-query/payrollsUpdate";
5
+ import { useMemo as N } from "react";
6
+ import { useQueryClient as q } from "@tanstack/react-query";
7
+ import { usePreparedPayrollData as w } from "../usePreparedPayrollData.js";
8
+ import { PREPARE_QUERY_KEY as M } from "../PayrollConfiguration/usePayrollConfigurationData.js";
9
+ import { derivePayrollCategory as Q, isOffCyclePayroll as T } from "../payrollTypes.js";
10
+ import { cleanupReimbursements as z } from "../helpers.js";
11
+ import { UNSTABLE_PayrollEditEmployee as G } from "../UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js";
12
+ import { PayrollEditEmployeePresentation as H } from "./PayrollEditEmployeePresentation.js";
13
+ import { useUnstableFeature as K } from "../../../contexts/UnstableFeaturesProvider/useUnstableFeature.js";
14
14
  import { componentEvents as c } from "../../../shared/constants.js";
15
- import { BaseComponent as K } from "../../Base/Base.js";
16
- import { useComponentDictionary as j } from "../../../i18n/I18n.js";
17
- import { useBase as F } from "../../Base/useBase.js";
18
- function ce(e) {
19
- return H("payrollRegularRateOfPay") ? /* @__PURE__ */ t(z, { ...e }) : /* @__PURE__ */ t(K, { ...e, children: /* @__PURE__ */ t(V, { ...e, children: e.children }) });
15
+ import { BaseComponent as j } from "../../Base/Base.js";
16
+ import { useComponentDictionary as F } from "../../../i18n/I18n.js";
17
+ import { useBase as V } from "../../Base/useBase.js";
18
+ function ye(e) {
19
+ return K("payrollRegularRateOfPay") ? /* @__PURE__ */ t(G, { ...e }) : /* @__PURE__ */ t(j, { ...e, children: /* @__PURE__ */ t(W, { ...e, children: e.children }) });
20
20
  }
21
- const V = ({
21
+ const W = ({
22
22
  employeeId: e,
23
23
  companyId: n,
24
24
  payrollId: s,
25
25
  onEvent: i,
26
26
  dictionary: y,
27
- withReimbursements: d = !0
27
+ withReimbursements: d = !0,
28
+ className: f
28
29
  }) => {
29
- j("Payroll.PayrollEditEmployee", y);
30
- const f = N(), { LoadingIndicator: E, baseSubmitHandler: P } = F(), { data: C } = k({ employeeId: e }), { data: R } = B({
30
+ F("Payroll.PayrollEditEmployee", y);
31
+ const E = q(), { LoadingIndicator: P, baseSubmitHandler: C } = V(), { data: R } = B({ employeeId: e }), { data: A } = v({
31
32
  employeeId: e
32
- }), A = x(() => [e], [e]), { preparedPayroll: r, paySchedule: L, isLoading: b } = q({
33
+ }), L = N(() => [e], [e]), { preparedPayroll: r, paySchedule: b, isLoading: g } = w({
33
34
  companyId: n,
34
35
  payrollId: s,
35
- employeeUuids: A
36
- }), { mutateAsync: g, isPending: D } = v(), m = C.employee, S = r?.employeeCompensations?.at(0), _ = (R.employeeBankAccounts || []).length > 0, l = M(r ?? {}), O = !Q(l), U = ({
36
+ employeeUuids: L
37
+ }), { mutateAsync: D, isPending: S } = x(), m = R.employee, _ = r?.employeeCompensations?.at(0), O = (A.employeeBankAccounts || []).length > 0, l = Q(r ?? {}), U = !T(l), h = ({
37
38
  paymentMethod: o,
38
39
  reimbursements: a,
39
40
  customWithholdings: p,
@@ -46,11 +47,11 @@ const V = ({
46
47
  // itemized array gets rejected by the `emb_off_cycle_disable_named_reimbursements` backend
47
48
  // flag (default-on globally, expected removal 2026-09-01).
48
49
  // TODO(post-2026-09-01): drop the branch once the flag is gone.
49
- ...O && a ? { reimbursements: T(a) } : {}
50
- }), h = async (o) => {
51
- const a = U(o);
52
- await P(null, async () => {
53
- const p = await g({
50
+ ...U && a ? { reimbursements: z(a) } : {}
51
+ }), Y = async (o) => {
52
+ const a = h(o);
53
+ await C(null, async () => {
54
+ const p = await D({
54
55
  request: {
55
56
  companyId: n,
56
57
  payrollId: s,
@@ -59,34 +60,35 @@ const V = ({
59
60
  }
60
61
  }
61
62
  });
62
- await f.invalidateQueries({
63
- queryKey: [w, s]
63
+ await E.invalidateQueries({
64
+ queryKey: [M, s]
64
65
  }), i(c.RUN_PAYROLL_EMPLOYEE_SAVED, {
65
66
  payrollPrepared: p.payrollPrepared,
66
67
  employee: m
67
68
  });
68
69
  });
69
- }, Y = () => {
70
+ }, k = () => {
70
71
  i(c.RUN_PAYROLL_EMPLOYEE_CANCELLED);
71
72
  };
72
- return b ? /* @__PURE__ */ t(E, {}) : /* @__PURE__ */ t(
73
- G,
73
+ return g ? /* @__PURE__ */ t(P, {}) : /* @__PURE__ */ t(
74
+ H,
74
75
  {
75
- onSave: h,
76
- onCancel: Y,
76
+ className: f,
77
+ onSave: Y,
78
+ onCancel: k,
77
79
  employee: m,
78
- isPending: D,
79
- employeeCompensation: S,
80
+ isPending: S,
81
+ employeeCompensation: _,
80
82
  fixedCompensationTypes: r?.fixedCompensationTypes || [],
81
83
  payPeriodStartDate: r?.payPeriod?.startDate,
82
- paySchedule: L,
84
+ paySchedule: b,
83
85
  payrollCategory: l,
84
86
  withReimbursements: d,
85
- hasDirectDepositSetup: _
87
+ hasDirectDepositSetup: O
86
88
  }
87
89
  );
88
90
  };
89
91
  export {
90
- ce as PayrollEditEmployee
92
+ ye as PayrollEditEmployee
91
93
  };
92
94
  //# sourceMappingURL=PayrollEditEmployee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollEditEmployee.js","sources":["../../../../src/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.tsx"],"sourcesContent":["import { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useEmployeePaymentMethodsGetBankAccountsSuspense } from '@gusto/embedded-api/react-query/employeePaymentMethodsGetBankAccounts'\nimport { usePayrollsUpdateMutation } from '@gusto/embedded-api/react-query/payrollsUpdate'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport type { PayrollUpdateEmployeeCompensations } from '@gusto/embedded-api/models/components/payrollupdate'\nimport { useMemo } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { usePreparedPayrollData } from '../usePreparedPayrollData'\nimport { PREPARE_QUERY_KEY } from '../PayrollConfiguration/usePayrollConfigurationData'\nimport { derivePayrollCategory, isOffCyclePayroll } from '../payrollTypes'\nimport { cleanupReimbursements } from '../helpers'\nimport { UNSTABLE_PayrollEditEmployee } from '../UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee'\nimport { PayrollEditEmployeePresentation } from './PayrollEditEmployeePresentation'\nimport { useUnstableFeature } from '@/contexts/UnstableFeaturesProvider/useUnstableFeature'\nimport { componentEvents } from '@/shared/constants'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport { useBase } from '@/components/Base/useBase'\n\n/**\n * Props for {@link PayrollEditEmployee}.\n *\n * @public\n */\nexport interface PayrollEditEmployeeProps extends BaseComponentInterface<'Payroll.PayrollEditEmployee'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The associated company identifier. */\n companyId: string\n /** The associated payroll identifier. */\n payrollId: string\n /** Whether to show reimbursement fields. Defaults to `true`. */\n withReimbursements?: boolean\n}\n\n/**\n * Editor for an individual employee's compensation within a payroll run.\n *\n * Allows modification of pay rates, hours, time off, additional earnings,\n * reimbursements, and payment method for a single employee on the specified payroll.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/employee/saved` | Fired when employee payroll compensation changes are saved | `{ payrollPrepared, employee }` |\n * | `runPayroll/employee/cancelled` | Fired when the user cancels editing employee payroll compensation | — |\n *\n * @param props - {@link PayrollEditEmployeeProps} plus base component props.\n * @returns The employee compensation editor.\n * @public\n *\n * @example\n * ```tsx\n * import { Payroll } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <Payroll.PayrollEditEmployee\n * employeeId=\"your-employee-id\"\n * companyId=\"your-company-id\"\n * payrollId=\"your-payroll-id\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function PayrollEditEmployee(props: PayrollEditEmployeeProps) {\n const isRegularRateOfPayEnabled = useUnstableFeature('payrollRegularRateOfPay')\n\n if (isRegularRateOfPayEnabled) {\n return <UNSTABLE_PayrollEditEmployee {...props} />\n }\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({\n employeeId,\n companyId,\n payrollId,\n onEvent,\n dictionary,\n withReimbursements = true,\n}: PayrollEditEmployeeProps) => {\n useComponentDictionary('Payroll.PayrollEditEmployee', dictionary)\n\n const queryClient = useQueryClient()\n const { LoadingIndicator, baseSubmitHandler } = useBase()\n\n const { data: employeeData } = useEmployeesGetSuspense({ employeeId })\n const { data: bankAccountsList } = useEmployeePaymentMethodsGetBankAccountsSuspense({\n employeeId,\n })\n const memoizedEmployeeId = useMemo(() => [employeeId], [employeeId])\n const { preparedPayroll, paySchedule, isLoading } = usePreparedPayrollData({\n companyId,\n payrollId,\n employeeUuids: memoizedEmployeeId,\n })\n\n const { mutateAsync: updatePayroll, isPending } = usePayrollsUpdateMutation()\n\n const employee = employeeData.employee!\n const employeeCompensation = preparedPayroll?.employeeCompensations?.at(0)\n const bankAccounts = bankAccountsList.employeeBankAccounts || []\n const hasDirectDepositSetup = bankAccounts.length > 0\n const payrollCategory = derivePayrollCategory(preparedPayroll ?? {})\n const usesItemizedReimbursements = !isOffCyclePayroll(payrollCategory)\n\n const transformEmployeeCompensation = ({\n paymentMethod,\n reimbursements,\n customWithholdings,\n ...compensation\n }: PayrollEmployeeCompensationsType): PayrollUpdateEmployeeCompensations => {\n return {\n ...compensation,\n ...(paymentMethod && paymentMethod !== 'Historical' ? { paymentMethod } : {}),\n memo: compensation.memo || undefined,\n // Off-cycle payrolls write reimbursements via the legacy fixed_compensations field; the\n // itemized array gets rejected by the `emb_off_cycle_disable_named_reimbursements` backend\n // flag (default-on globally, expected removal 2026-09-01).\n // TODO(post-2026-09-01): drop the branch once the flag is gone.\n ...(usesItemizedReimbursements && reimbursements\n ? { reimbursements: cleanupReimbursements(reimbursements) }\n : {}),\n }\n }\n\n const onSave = async (updatedCompensation: PayrollEmployeeCompensationsType) => {\n const transformedCompensation = transformEmployeeCompensation(updatedCompensation)\n await baseSubmitHandler(null, async () => {\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [transformedCompensation],\n },\n },\n })\n\n await queryClient.invalidateQueries({\n queryKey: [PREPARE_QUERY_KEY, payrollId],\n })\n\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n employee,\n })\n })\n }\n\n const onCancel = () => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_CANCELLED)\n }\n\n if (isLoading) {\n return <LoadingIndicator />\n }\n\n return (\n <PayrollEditEmployeePresentation\n onSave={onSave}\n onCancel={onCancel}\n employee={employee}\n isPending={isPending}\n employeeCompensation={employeeCompensation}\n fixedCompensationTypes={preparedPayroll?.fixedCompensationTypes || []}\n payPeriodStartDate={preparedPayroll?.payPeriod?.startDate}\n paySchedule={paySchedule}\n payrollCategory={payrollCategory}\n withReimbursements={withReimbursements}\n hasDirectDepositSetup={hasDirectDepositSetup}\n />\n )\n}\n"],"names":["PayrollEditEmployee","props","useUnstableFeature","jsx","UNSTABLE_PayrollEditEmployee","BaseComponent","Root","employeeId","companyId","payrollId","onEvent","dictionary","withReimbursements","useComponentDictionary","queryClient","useQueryClient","LoadingIndicator","baseSubmitHandler","useBase","employeeData","useEmployeesGetSuspense","bankAccountsList","useEmployeePaymentMethodsGetBankAccountsSuspense","memoizedEmployeeId","useMemo","preparedPayroll","paySchedule","isLoading","usePreparedPayrollData","updatePayroll","isPending","usePayrollsUpdateMutation","employee","employeeCompensation","hasDirectDepositSetup","payrollCategory","derivePayrollCategory","usesItemizedReimbursements","isOffCyclePayroll","transformEmployeeCompensation","paymentMethod","reimbursements","customWithholdings","compensation","cleanupReimbursements","onSave","updatedCompensation","transformedCompensation","result","PREPARE_QUERY_KEY","componentEvents","onCancel","PayrollEditEmployeePresentation"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollEditEmployee.js","sources":["../../../../src/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.tsx"],"sourcesContent":["import { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useEmployeePaymentMethodsGetBankAccountsSuspense } from '@gusto/embedded-api/react-query/employeePaymentMethodsGetBankAccounts'\nimport { usePayrollsUpdateMutation } from '@gusto/embedded-api/react-query/payrollsUpdate'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport type { PayrollUpdateEmployeeCompensations } from '@gusto/embedded-api/models/components/payrollupdate'\nimport { useMemo } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { usePreparedPayrollData } from '../usePreparedPayrollData'\nimport { PREPARE_QUERY_KEY } from '../PayrollConfiguration/usePayrollConfigurationData'\nimport { derivePayrollCategory, isOffCyclePayroll } from '../payrollTypes'\nimport { cleanupReimbursements } from '../helpers'\nimport { UNSTABLE_PayrollEditEmployee } from '../UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee'\nimport { PayrollEditEmployeePresentation } from './PayrollEditEmployeePresentation'\nimport { useUnstableFeature } from '@/contexts/UnstableFeaturesProvider/useUnstableFeature'\nimport { componentEvents } from '@/shared/constants'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport { useBase } from '@/components/Base/useBase'\n\n/**\n * Props for {@link PayrollEditEmployee}.\n *\n * @public\n */\nexport interface PayrollEditEmployeeProps extends BaseComponentInterface<'Payroll.PayrollEditEmployee'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The associated company identifier. */\n companyId: string\n /** The associated payroll identifier. */\n payrollId: string\n /** Whether to show reimbursement fields. Defaults to `true`. */\n withReimbursements?: boolean\n}\n\n/**\n * Editor for an individual employee's compensation within a payroll run.\n *\n * Allows modification of pay rates, hours, time off, additional earnings,\n * reimbursements, and payment method for a single employee on the specified payroll.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/employee/saved` | Fired when employee payroll compensation changes are saved | `{ payrollPrepared, employee }` |\n * | `runPayroll/employee/cancelled` | Fired when the user cancels editing employee payroll compensation | — |\n *\n * @param props - {@link PayrollEditEmployeeProps} plus base component props.\n * @returns The employee compensation editor.\n * @public\n *\n * @example\n * ```tsx\n * import { Payroll } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <Payroll.PayrollEditEmployee\n * employeeId=\"your-employee-id\"\n * companyId=\"your-company-id\"\n * payrollId=\"your-payroll-id\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function PayrollEditEmployee(props: PayrollEditEmployeeProps) {\n const isRegularRateOfPayEnabled = useUnstableFeature('payrollRegularRateOfPay')\n\n if (isRegularRateOfPayEnabled) {\n return <UNSTABLE_PayrollEditEmployee {...props} />\n }\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({\n employeeId,\n companyId,\n payrollId,\n onEvent,\n dictionary,\n withReimbursements = true,\n className,\n}: PayrollEditEmployeeProps) => {\n useComponentDictionary('Payroll.PayrollEditEmployee', dictionary)\n\n const queryClient = useQueryClient()\n const { LoadingIndicator, baseSubmitHandler } = useBase()\n\n const { data: employeeData } = useEmployeesGetSuspense({ employeeId })\n const { data: bankAccountsList } = useEmployeePaymentMethodsGetBankAccountsSuspense({\n employeeId,\n })\n const memoizedEmployeeId = useMemo(() => [employeeId], [employeeId])\n const { preparedPayroll, paySchedule, isLoading } = usePreparedPayrollData({\n companyId,\n payrollId,\n employeeUuids: memoizedEmployeeId,\n })\n\n const { mutateAsync: updatePayroll, isPending } = usePayrollsUpdateMutation()\n\n const employee = employeeData.employee!\n const employeeCompensation = preparedPayroll?.employeeCompensations?.at(0)\n const bankAccounts = bankAccountsList.employeeBankAccounts || []\n const hasDirectDepositSetup = bankAccounts.length > 0\n const payrollCategory = derivePayrollCategory(preparedPayroll ?? {})\n const usesItemizedReimbursements = !isOffCyclePayroll(payrollCategory)\n\n const transformEmployeeCompensation = ({\n paymentMethod,\n reimbursements,\n customWithholdings,\n ...compensation\n }: PayrollEmployeeCompensationsType): PayrollUpdateEmployeeCompensations => {\n return {\n ...compensation,\n ...(paymentMethod && paymentMethod !== 'Historical' ? { paymentMethod } : {}),\n memo: compensation.memo || undefined,\n // Off-cycle payrolls write reimbursements via the legacy fixed_compensations field; the\n // itemized array gets rejected by the `emb_off_cycle_disable_named_reimbursements` backend\n // flag (default-on globally, expected removal 2026-09-01).\n // TODO(post-2026-09-01): drop the branch once the flag is gone.\n ...(usesItemizedReimbursements && reimbursements\n ? { reimbursements: cleanupReimbursements(reimbursements) }\n : {}),\n }\n }\n\n const onSave = async (updatedCompensation: PayrollEmployeeCompensationsType) => {\n const transformedCompensation = transformEmployeeCompensation(updatedCompensation)\n await baseSubmitHandler(null, async () => {\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [transformedCompensation],\n },\n },\n })\n\n await queryClient.invalidateQueries({\n queryKey: [PREPARE_QUERY_KEY, payrollId],\n })\n\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n employee,\n })\n })\n }\n\n const onCancel = () => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_CANCELLED)\n }\n\n if (isLoading) {\n return <LoadingIndicator />\n }\n\n return (\n <PayrollEditEmployeePresentation\n className={className}\n onSave={onSave}\n onCancel={onCancel}\n employee={employee}\n isPending={isPending}\n employeeCompensation={employeeCompensation}\n fixedCompensationTypes={preparedPayroll?.fixedCompensationTypes || []}\n payPeriodStartDate={preparedPayroll?.payPeriod?.startDate}\n paySchedule={paySchedule}\n payrollCategory={payrollCategory}\n withReimbursements={withReimbursements}\n hasDirectDepositSetup={hasDirectDepositSetup}\n />\n )\n}\n"],"names":["PayrollEditEmployee","props","useUnstableFeature","jsx","UNSTABLE_PayrollEditEmployee","BaseComponent","Root","employeeId","companyId","payrollId","onEvent","dictionary","withReimbursements","className","useComponentDictionary","queryClient","useQueryClient","LoadingIndicator","baseSubmitHandler","useBase","employeeData","useEmployeesGetSuspense","bankAccountsList","useEmployeePaymentMethodsGetBankAccountsSuspense","memoizedEmployeeId","useMemo","preparedPayroll","paySchedule","isLoading","usePreparedPayrollData","updatePayroll","isPending","usePayrollsUpdateMutation","employee","employeeCompensation","hasDirectDepositSetup","payrollCategory","derivePayrollCategory","usesItemizedReimbursements","isOffCyclePayroll","transformEmployeeCompensation","paymentMethod","reimbursements","customWithholdings","compensation","cleanupReimbursements","onSave","updatedCompensation","transformedCompensation","result","PREPARE_QUERY_KEY","componentEvents","onCancel","PayrollEditEmployeePresentation"],"mappings":"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"}