@gusto/embedded-react-sdk 0.25.0 → 0.27.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 (370) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/dist/assets/icons/icon-file-jpg.svg.js +10 -0
  3. package/dist/assets/icons/icon-file-jpg.svg.js.map +1 -0
  4. package/dist/assets/icons/icon-file-pdf.svg.js +10 -0
  5. package/dist/assets/icons/icon-file-pdf.svg.js.map +1 -0
  6. package/dist/assets/icons/icon-file-png.svg.js +10 -0
  7. package/dist/assets/icons/icon-file-png.svg.js.map +1 -0
  8. package/dist/assets/icons/icon-trashcan.svg.js +10 -0
  9. package/dist/assets/icons/icon-trashcan.svg.js.map +1 -0
  10. package/dist/assets/icons/plus-circle.svg.js +5 -5
  11. package/dist/assets/icons/plus-circle.svg.js.map +1 -1
  12. package/dist/components/Common/DocumentList/DocumentList.js +23 -23
  13. package/dist/components/Common/DocumentList/DocumentList.js.map +1 -1
  14. package/dist/components/Common/DocumentList/DocumentList.module.scss.js +6 -10
  15. package/dist/components/Common/DocumentList/DocumentList.module.scss.js.map +1 -1
  16. package/dist/components/Common/DocumentViewer/DocumentViewer.module.scss.js +12 -12
  17. package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js +1 -1
  18. package/dist/components/Common/InternalError/InternalError.module.scss.js +4 -4
  19. package/dist/components/Common/ReorderableList/ReorderableList.module.scss.js +8 -8
  20. package/dist/components/Common/RequirementsList/RequirementsList.module.scss.js +1 -1
  21. package/dist/components/Common/SignatureForm/SignatureFormActions.js +1 -1
  22. package/dist/components/Common/SignatureForm/SignatureFormFields.js +1 -1
  23. package/dist/components/Common/UI/Alert/Alert.js +10 -10
  24. package/dist/components/Common/UI/Alert/Alert.js.map +1 -1
  25. package/dist/components/Common/UI/Alert/Alert.module.scss.js +10 -10
  26. package/dist/components/Common/UI/Badge/Badge.module.scss.js +1 -1
  27. package/dist/components/Common/UI/Banner/Banner.module.scss.js +4 -4
  28. package/dist/components/Common/UI/Button/Button.module.scss.js +1 -1
  29. package/dist/components/Common/UI/CalendarPreview/CalendarPreview.module.scss.js +4 -4
  30. package/dist/components/Common/UI/Card/Card.module.scss.js +1 -1
  31. package/dist/components/Common/UI/Checkbox/Checkbox.module.scss.js +1 -1
  32. package/dist/components/Common/UI/ComboBox/ComboBox.module.scss.js +6 -6
  33. package/dist/components/Common/UI/DatePicker/DatePicker.module.scss.js +4 -4
  34. package/dist/components/Common/UI/DescriptionList/DescriptionList.module.scss.js +1 -1
  35. package/dist/components/Common/UI/Dialog/Dialog.module.scss.js +2 -2
  36. package/dist/components/Common/UI/FileInput/FileInput.js +105 -106
  37. package/dist/components/Common/UI/FileInput/FileInput.js.map +1 -1
  38. package/dist/components/Common/UI/FileInput/FileInput.module.scss.js +27 -25
  39. package/dist/components/Common/UI/FileInput/FileInput.module.scss.js.map +1 -1
  40. package/dist/components/Common/UI/Input/Input.module.scss.js +8 -8
  41. package/dist/components/Common/UI/List/List.module.scss.js +1 -1
  42. package/dist/components/Common/UI/Modal/Modal.js +41 -40
  43. package/dist/components/Common/UI/Modal/Modal.js.map +1 -1
  44. package/dist/components/Common/UI/Modal/Modal.module.scss.js +12 -12
  45. package/dist/components/Common/UI/Radio/Radio.module.scss.js +6 -6
  46. package/dist/components/Common/UI/Select/Select.module.scss.js +5 -5
  47. package/dist/components/Common/UI/Table/Table.js +1 -1
  48. package/dist/components/Common/UI/Table/Table.js.map +1 -1
  49. package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
  50. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +1 -1
  51. package/dist/components/Common/UI/Text/Text.module.scss.js +17 -15
  52. package/dist/components/Common/UI/Text/Text.module.scss.js.map +1 -1
  53. package/dist/components/Common/UI/TextArea/TextArea.module.scss.js +1 -1
  54. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +1 -1
  55. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +16 -17
  56. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  57. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
  58. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  59. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +5 -6
  60. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  61. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
  62. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  63. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
  64. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  65. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +1 -1
  66. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
  67. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  68. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +1 -1
  69. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  70. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  71. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
  72. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  73. package/dist/components/Company/FederalTaxes/Form.js +1 -1
  74. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +6 -5
  75. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  76. package/dist/components/Company/Industry/Context.js +7 -6
  77. package/dist/components/Company/Industry/Context.js.map +1 -1
  78. package/dist/components/Company/Locations/LocationForm/Form.js +5 -6
  79. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  80. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
  81. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  82. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
  83. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  84. package/dist/components/Company/OnboardingOverview/context.js +4 -3
  85. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  86. package/dist/components/Company/PaySchedule/_parts/Edit.js +23 -24
  87. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
  88. package/dist/components/Company/PaySchedule/usePaySchedule.js +6 -5
  89. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  90. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
  91. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  92. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
  93. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  94. package/dist/components/Contractor/Address/Form.js +7 -8
  95. package/dist/components/Contractor/Address/Form.js.map +1 -1
  96. package/dist/components/Contractor/Address/useAddress.js +6 -5
  97. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  98. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +2 -2
  99. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +1 -1
  100. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +102 -88
  101. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  102. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +22 -23
  103. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  104. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.d.ts +8 -0
  105. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js +60 -0
  106. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -0
  107. package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.d.ts +6 -0
  108. package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.js +18 -0
  109. package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.js.map +1 -0
  110. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +3 -1
  111. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +86 -55
  112. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  113. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +2 -0
  114. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +35 -22
  115. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  116. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +1 -0
  117. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +82 -65
  118. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  119. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.module.scss.js +14 -14
  120. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +8 -0
  121. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +45 -0
  122. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -0
  123. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.d.ts +15 -0
  124. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +127 -0
  125. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -0
  126. package/dist/components/Contractor/Payments/PaymentSummary/index.d.ts +3 -0
  127. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +37 -28
  128. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  129. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +5 -1
  130. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +52 -47
  131. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  132. package/dist/components/Contractor/Profile/ContractorProfileForm.js +15 -15
  133. package/dist/components/Contractor/Profile/ContractorProfileForm.module.scss.js +1 -1
  134. package/dist/components/Employee/Compensation/Edit.js +14 -14
  135. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.d.ts +3 -1
  136. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +145 -137
  137. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  138. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.d.ts +2 -1
  139. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +106 -101
  140. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  141. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +90 -87
  142. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js.map +1 -1
  143. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.d.ts +2 -1
  144. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +110 -104
  145. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
  146. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +50 -45
  147. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js.map +1 -1
  148. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js +30 -30
  149. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js.map +1 -1
  150. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.module.scss.js +4 -8
  151. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.module.scss.js.map +1 -1
  152. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  153. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  154. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
  155. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  156. package/dist/components/Employee/EmployeeList/useEmployeeList.js +4 -3
  157. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  158. package/dist/components/Employee/EmploymentEligibility/EmploymentEligibility.d.ts +3 -0
  159. package/dist/components/Employee/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +37 -0
  160. package/dist/components/Employee/EmploymentEligibility/index.d.ts +4 -0
  161. package/dist/components/Employee/FederalTaxes/FederalForm.js +7 -7
  162. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +4 -3
  163. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  164. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +2 -2
  165. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +1 -1
  166. package/dist/components/Employee/PaymentMethod/Split.js +8 -8
  167. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +6 -5
  168. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  169. package/dist/components/Employee/Profile/AdminPersonalDetails.js +1 -1
  170. package/dist/components/Employee/Profile/AdminPersonalDetails.module.scss.js +1 -1
  171. package/dist/components/Employee/Profile/HomeAddress.js +9 -10
  172. package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
  173. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +10 -11
  174. package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
  175. package/dist/components/Employee/Profile/useProfile.js +4 -3
  176. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  177. package/dist/components/Employee/StateTaxes/useStateTaxes.js +4 -3
  178. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  179. package/dist/components/Employee/Taxes/FederalForm.js +7 -7
  180. package/dist/components/Employee/Taxes/useTaxes.js +4 -3
  181. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  182. package/dist/components/{Payroll/InformationRequests → InformationRequests}/InformationRequestForm/InformationRequestForm.d.ts +4 -4
  183. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +163 -0
  184. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -0
  185. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.module.scss.js +20 -0
  186. package/dist/components/{Payroll/InformationRequests → InformationRequests}/InformationRequestForm/InformationRequestForm.module.scss.js.map +1 -1
  187. package/dist/components/{Payroll/InformationRequests → InformationRequests}/InformationRequestList/InformationRequestList.d.ts +3 -2
  188. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +98 -0
  189. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -0
  190. package/dist/components/InformationRequests/InformationRequests.d.ts +12 -0
  191. package/dist/components/InformationRequests/InformationRequests.js +101 -0
  192. package/dist/components/InformationRequests/InformationRequests.js.map +1 -0
  193. package/dist/components/{Payroll/InformationRequests → InformationRequests}/InformationRequestsComponents.d.ts +4 -4
  194. package/dist/components/{Payroll/InformationRequests → InformationRequests}/InformationRequestsComponents.js +2 -2
  195. package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -0
  196. package/dist/components/InformationRequests/index.d.ts +4 -0
  197. package/dist/components/InformationRequests/index.js +9 -0
  198. package/dist/components/InformationRequests/index.js.map +1 -0
  199. package/dist/components/{Payroll/InformationRequests → InformationRequests}/informationRequestsStateMachine.d.ts +1 -1
  200. package/dist/components/{Payroll/InformationRequests → InformationRequests}/informationRequestsStateMachine.js +1 -1
  201. package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -0
  202. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +69 -59
  203. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  204. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +9 -9
  205. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +61 -52
  206. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  207. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.module.scss.js +10 -10
  208. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +2 -0
  209. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js +33 -0
  210. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -0
  211. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +7 -0
  212. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +39 -0
  213. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -0
  214. package/dist/components/Payroll/OffCycleReasonSelection/index.d.ts +5 -0
  215. package/dist/components/Payroll/OffCycleReasonSelection/types.d.ts +15 -0
  216. package/dist/components/Payroll/OffCycleReasonSelection/types.js +14 -0
  217. package/dist/components/Payroll/OffCycleReasonSelection/types.js.map +1 -0
  218. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateForm.d.ts +2 -0
  219. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateForm.js +35 -0
  220. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateForm.js.map +1 -0
  221. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.d.ts +2 -0
  222. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.js +65 -0
  223. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.js.map +1 -0
  224. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.module.scss.js +18 -0
  225. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.module.scss.js.map +1 -0
  226. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormTypes.d.ts +53 -0
  227. package/dist/components/Payroll/PayPeriodDateForm/index.d.ts +3 -0
  228. package/dist/components/Payroll/PayPeriodDateForm/usePayPeriodDateValidation.d.ts +5 -0
  229. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +22 -22
  230. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  231. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.d.ts +5 -13
  232. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +103 -28
  233. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
  234. package/dist/components/Payroll/PayrollBlocker/index.d.ts +0 -1
  235. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js +14 -14
  236. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js.map +1 -1
  237. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +1 -1
  238. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +132 -131
  239. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  240. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +1 -1
  241. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  242. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +38 -39
  243. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  244. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js +5 -5
  245. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +6 -6
  246. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +1 -0
  247. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js +45 -38
  248. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  249. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +54 -40
  250. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  251. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +29 -29
  252. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  253. package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +2 -1
  254. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +26 -24
  255. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  256. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.d.ts +2 -0
  257. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +70 -48
  258. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  259. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +72 -36
  260. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  261. package/dist/components/Payroll/PayrollList/PayrollList.js +14 -17
  262. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  263. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +1 -2
  264. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +93 -98
  265. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  266. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  267. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +3 -3
  268. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +242 -243
  269. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  270. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.d.ts +2 -2
  271. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
  272. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.d.ts +2 -2
  273. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.js.map +1 -1
  274. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +18 -18
  275. package/dist/components/Payroll/RecoveryCases/RecoveryCaseErrorCode.module.scss.js +8 -0
  276. package/dist/components/Payroll/RecoveryCases/RecoveryCaseErrorCode.module.scss.js.map +1 -0
  277. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +4 -1
  278. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +34 -28
  279. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  280. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +82 -51
  281. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  282. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.module.scss.js +2 -4
  283. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.module.scss.js.map +1 -1
  284. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +59 -35
  285. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  286. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.d.ts +7 -0
  287. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js +67 -0
  288. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -0
  289. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.d.ts +1 -1
  290. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.js.map +1 -1
  291. package/dist/components/Payroll/helpers.js.map +1 -1
  292. package/dist/components/Payroll/index.d.ts +5 -2
  293. package/dist/components/Payroll/index.js +16 -14
  294. package/dist/components/Payroll/index.js.map +1 -1
  295. package/dist/components/Payroll/usePreparedPayrollData.d.ts +1 -1
  296. package/dist/components/Payroll/usePreparedPayrollData.js +3 -2
  297. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  298. package/dist/components/index.d.ts +1 -0
  299. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +3 -2
  300. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  301. package/dist/contexts/ThemeProvider/theme.d.ts +8 -3
  302. package/dist/contexts/ThemeProvider/theme.js +27 -22
  303. package/dist/contexts/ThemeProvider/theme.js.map +1 -1
  304. package/dist/helpers/dateFormatting.d.ts +3 -0
  305. package/dist/helpers/dateFormatting.js.map +1 -1
  306. package/dist/helpers/formattedStrings.js +12 -11
  307. package/dist/helpers/formattedStrings.js.map +1 -1
  308. package/dist/i18n/I18n.js +8 -8
  309. package/dist/i18n/I18n.js.map +1 -1
  310. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +30 -26
  311. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js.map +1 -1
  312. package/dist/i18n/en/Contractor.Payments.PaymentSummary.json.js +58 -0
  313. package/dist/i18n/en/Contractor.Payments.PaymentSummary.json.js.map +1 -0
  314. package/dist/i18n/en/Employee.Deductions.json.js +157 -161
  315. package/dist/i18n/en/Employee.Deductions.json.js.map +1 -1
  316. package/dist/i18n/en/Employee.EmploymentEligibility.json.js +28 -0
  317. package/dist/i18n/en/Employee.EmploymentEligibility.json.js.map +1 -0
  318. package/dist/i18n/en/InformationRequests.InformationRequestForm.json.js +20 -0
  319. package/dist/i18n/en/InformationRequests.InformationRequestForm.json.js.map +1 -0
  320. package/dist/i18n/en/InformationRequests.InformationRequestList.json.js +20 -0
  321. package/dist/i18n/en/InformationRequests.InformationRequestList.json.js.map +1 -0
  322. package/dist/i18n/en/InformationRequests.json.js +8 -0
  323. package/dist/i18n/en/InformationRequests.json.js.map +1 -0
  324. package/dist/i18n/en/Payroll.ConfirmWireDetailsBanner.json.js +1 -1
  325. package/dist/i18n/en/Payroll.OffCycleReasonSelection.json.js +12 -0
  326. package/dist/i18n/en/Payroll.OffCycleReasonSelection.json.js.map +1 -0
  327. package/dist/i18n/en/Payroll.PayPeriodDateForm.json.js +32 -0
  328. package/dist/i18n/en/Payroll.PayPeriodDateForm.json.js.map +1 -0
  329. package/dist/i18n/en/Payroll.PayrollBlocker.json.js +24 -20
  330. package/dist/i18n/en/Payroll.PayrollBlocker.json.js.map +1 -1
  331. package/dist/i18n/en/Payroll.PayrollLanding.json.js +5 -3
  332. package/dist/i18n/en/Payroll.PayrollLanding.json.js.map +1 -1
  333. package/dist/i18n/en/Payroll.RecoveryCasesList.json.js +14 -10
  334. package/dist/i18n/en/Payroll.RecoveryCasesList.json.js.map +1 -1
  335. package/dist/i18n/en/Payroll.RecoveryCasesResubmit.json.js +5 -3
  336. package/dist/i18n/en/Payroll.RecoveryCasesResubmit.json.js.map +1 -1
  337. package/dist/i18n/en/Payroll.WireInstructions.json.js +20 -16
  338. package/dist/i18n/en/Payroll.WireInstructions.json.js.map +1 -1
  339. package/dist/index.js +10 -8
  340. package/dist/index.js.map +1 -1
  341. package/dist/shared/constants.d.ts +10 -0
  342. package/dist/shared/constants.js +22 -17
  343. package/dist/shared/constants.js.map +1 -1
  344. package/dist/style.css +1 -1
  345. package/dist/types/i18next.d.ts +290 -40
  346. package/package.json +17 -17
  347. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.module.scss.js +0 -8
  348. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.module.scss.js.map +0 -1
  349. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.module.scss.js +0 -14
  350. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.module.scss.js.map +0 -1
  351. package/dist/components/Payroll/InformationRequests/InformationRequestForm/InformationRequestForm.js +0 -142
  352. package/dist/components/Payroll/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +0 -1
  353. package/dist/components/Payroll/InformationRequests/InformationRequestForm/InformationRequestForm.module.scss.js +0 -18
  354. package/dist/components/Payroll/InformationRequests/InformationRequestList/InformationRequestList.js +0 -88
  355. package/dist/components/Payroll/InformationRequests/InformationRequestList/InformationRequestList.js.map +0 -1
  356. package/dist/components/Payroll/InformationRequests/InformationRequests.d.ts +0 -6
  357. package/dist/components/Payroll/InformationRequests/InformationRequests.js +0 -55
  358. package/dist/components/Payroll/InformationRequests/InformationRequests.js.map +0 -1
  359. package/dist/components/Payroll/InformationRequests/InformationRequestsComponents.js.map +0 -1
  360. package/dist/components/Payroll/InformationRequests/index.d.ts +0 -3
  361. package/dist/components/Payroll/InformationRequests/informationRequestsStateMachine.js.map +0 -1
  362. package/dist/components/Payroll/PayrollBlocker/PayrollBlocker.d.ts +0 -6
  363. package/dist/components/Payroll/PayrollBlocker/PayrollBlocker.js +0 -32
  364. package/dist/components/Payroll/PayrollBlocker/PayrollBlocker.js.map +0 -1
  365. package/dist/i18n/en/Payroll.InformationRequestForm.json.js +0 -18
  366. package/dist/i18n/en/Payroll.InformationRequestForm.json.js.map +0 -1
  367. package/dist/i18n/en/Payroll.InformationRequestList.json.js +0 -18
  368. package/dist/i18n/en/Payroll.InformationRequestList.json.js.map +0 -1
  369. /package/dist/components/{Payroll/InformationRequests → InformationRequests}/InformationRequestForm/index.d.ts +0 -0
  370. /package/dist/components/{Payroll/InformationRequests → InformationRequests}/InformationRequestList/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollList.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { usePayrollsListSuspense } from '@gusto/embedded-api/react-query/payrollsList'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { usePayrollsSkipMutation } from '@gusto/embedded-api/react-query/payrollsSkip'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api/react-query/payrollsGetBlockers'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api/react-query/wireInRequestsList'\nimport { PayrollType } from '@gusto/embedded-api/models/operations/postcompaniespayrollskipcompanyuuid'\nimport { ProcessingStatuses } from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollListPresentation } from './PayrollListPresentation'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\ninterface PayrollListBlockProps extends BaseComponentInterface {\n companyId: string\n}\n\nexport function PayrollList(props: PayrollListBlockProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst Root = ({ companyId, onEvent }: PayrollListBlockProps) => {\n const { baseSubmitHandler } = useBase()\n const [showSkipSuccessAlert, setShowSkipSuccessAlert] = useState(false)\n const [skippingPayrollId, setSkippingPayrollId] = useState<string | null>(null)\n\n const { data: payrollsData } = usePayrollsListSuspense({\n companyId,\n processingStatuses: [ProcessingStatuses.Unprocessed],\n })\n const payrollList = payrollsData.payrollList!\n const { data: paySchedulesData } = usePaySchedulesGetAllSuspense({\n companyId,\n })\n const paySchedulesList = paySchedulesData.payScheduleList!\n\n const { data: blockersData } = usePayrollsGetBlockersSuspense({\n companyUuid: companyId,\n })\n\n const payrollBlockerList = blockersData.payrollBlockerList ?? []\n\n const blockers: ApiPayrollBlocker[] = payrollBlockerList.map(blocker => ({\n key: blocker.key ?? 'unknown',\n message: blocker.message,\n }))\n\n const { data: wireInRequestsData } = useWireInRequestsListSuspense({\n companyUuid: companyId,\n })\n\n const wireInRequests = wireInRequestsData.wireInRequestList ?? []\n\n const { mutateAsync: skipPayroll } = usePayrollsSkipMutation()\n\n const onRunPayroll = ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => {\n onEvent(componentEvents.RUN_PAYROLL_SELECTED, { payrollUuid, payPeriod })\n }\n const onSubmitPayroll = ({\n payrollUuid,\n payPeriod,\n }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => {\n onEvent(componentEvents.REVIEW_PAYROLL, { payrollUuid, payPeriod })\n }\n const onViewBlockers = () => {\n onEvent(componentEvents.RUN_PAYROLL_BLOCKERS_VIEW_ALL)\n }\n const onSkipPayroll = async ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => {\n const payroll = payrollList.find(payroll => payroll.payrollUuid === payrollUuid)\n\n if (payroll?.payPeriod) {\n setSkippingPayrollId(payrollUuid!)\n await baseSubmitHandler({}, async () => {\n await skipPayroll({\n request: {\n companyUuid: companyId,\n requestBody: {\n payrollType: PayrollType.Regular,\n startDate: payroll.payPeriod?.startDate,\n endDate: payroll.payPeriod?.endDate,\n payScheduleUuid: payroll.payPeriod?.payScheduleUuid ?? undefined,\n },\n },\n })\n\n setShowSkipSuccessAlert(true)\n onEvent(componentEvents.PAYROLL_SKIPPED, { payrollId: payrollUuid })\n })\n setSkippingPayrollId(null)\n }\n }\n return (\n <PayrollListPresentation\n payrolls={payrollList}\n paySchedules={paySchedulesList}\n onRunPayroll={onRunPayroll}\n onSubmitPayroll={onSubmitPayroll}\n onSkipPayroll={onSkipPayroll}\n onViewBlockers={onViewBlockers}\n showSkipSuccessAlert={showSkipSuccessAlert}\n onDismissSkipSuccessAlert={() => {\n setShowSkipSuccessAlert(false)\n }}\n skippingPayrollId={skippingPayrollId}\n blockers={blockers}\n wireInRequests={wireInRequests}\n />\n )\n}\n"],"names":["PayrollList","props","jsx","BaseComponent","Root","companyId","onEvent","baseSubmitHandler","useBase","showSkipSuccessAlert","setShowSkipSuccessAlert","useState","skippingPayrollId","setSkippingPayrollId","payrollsData","usePayrollsListSuspense","ProcessingStatuses","payrollList","paySchedulesData","usePaySchedulesGetAllSuspense","paySchedulesList","blockersData","usePayrollsGetBlockersSuspense","blockers","blocker","wireInRequestsData","useWireInRequestsListSuspense","wireInRequests","skipPayroll","usePayrollsSkipMutation","PayrollListPresentation","payrollUuid","payPeriod","componentEvents","payroll","PayrollType"],"mappings":";;;;;;;;;;;;;AAmBO,SAASA,EAAYC,GAA8B;AACxD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,MAAMG,IAAO,CAAC,EAAE,WAAAC,GAAW,SAAAC,QAAqC;AAC9D,QAAM,EAAE,mBAAAC,EAAA,IAAsBC,EAAA,GACxB,CAACC,GAAsBC,CAAuB,IAAIC,EAAS,EAAK,GAChE,CAACC,GAAmBC,CAAoB,IAAIF,EAAwB,IAAI,GAExE,EAAE,MAAMG,EAAA,IAAiBC,EAAwB;AAAA,IACrD,WAAAV;AAAA,IACA,oBAAoB,CAACW,EAAmB,WAAW;AAAA,EAAA,CACpD,GACKC,IAAcH,EAAa,aAC3B,EAAE,MAAMI,EAAA,IAAqBC,EAA8B;AAAA,IAC/D,WAAAd;AAAA,EAAA,CACD,GACKe,IAAmBF,EAAiB,iBAEpC,EAAE,MAAMG,EAAA,IAAiBC,EAA+B;AAAA,IAC5D,aAAajB;AAAA,EAAA,CACd,GAIKkB,KAFqBF,EAAa,sBAAsB,CAAA,GAEL,IAAI,CAAAG,OAAY;AAAA,IACvE,KAAKA,EAAQ,OAAO;AAAA,IACpB,SAASA,EAAQ;AAAA,EAAA,EACjB,GAEI,EAAE,MAAMC,EAAA,IAAuBC,EAA8B;AAAA,IACjE,aAAarB;AAAA,EAAA,CACd,GAEKsB,IAAiBF,EAAmB,qBAAqB,CAAA,GAEzD,EAAE,aAAaG,EAAA,IAAgBC,EAAA;AAsCrC,SACE,gBAAA3B;AAAA,IAAC4B;AAAA,IAAA;AAAA,MACC,UAAUb;AAAA,MACV,cAAcG;AAAA,MACd,cAxCiB,CAAC,EAAE,aAAAW,GAAa,WAAAC,QAA4D;AAC/F,QAAA1B,EAAQ2B,EAAgB,sBAAsB,EAAE,aAAAF,GAAa,WAAAC,GAAW;AAAA,MAC1E;AAAA,MAuCI,iBAtCoB,CAAC;AAAA,QACvB,aAAAD;AAAA,QACA,WAAAC;AAAA,MAAA,MACgD;AAChD,QAAA1B,EAAQ2B,EAAgB,gBAAgB,EAAE,aAAAF,GAAa,WAAAC,GAAW;AAAA,MACpE;AAAA,MAkCI,eA9BkB,OAAO,EAAE,aAAAD,QAAgD;AAC7E,cAAMG,IAAUjB,EAAY,KAAK,CAAAiB,MAAWA,EAAQ,gBAAgBH,CAAW;AAE/E,QAAIG,GAAS,cACXrB,EAAqBkB,CAAY,GACjC,MAAMxB,EAAkB,CAAA,GAAI,YAAY;AACtC,gBAAMqB,EAAY;AAAA,YAChB,SAAS;AAAA,cACP,aAAavB;AAAA,cACb,aAAa;AAAA,gBACX,aAAa8B,EAAY;AAAA,gBACzB,WAAWD,EAAQ,WAAW;AAAA,gBAC9B,SAASA,EAAQ,WAAW;AAAA,gBAC5B,iBAAiBA,EAAQ,WAAW,mBAAmB;AAAA,cAAA;AAAA,YACzD;AAAA,UACF,CACD,GAEDxB,EAAwB,EAAI,GAC5BJ,EAAQ2B,EAAgB,iBAAiB,EAAE,WAAWF,GAAa;AAAA,QACrE,CAAC,GACDlB,EAAqB,IAAI;AAAA,MAE7B;AAAA,MAQI,gBAlCmB,MAAM;AAC3B,QAAAP,EAAQ2B,EAAgB,6BAA6B;AAAA,MACvD;AAAA,MAiCI,sBAAAxB;AAAA,MACA,2BAA2B,MAAM;AAC/B,QAAAC,EAAwB,EAAK;AAAA,MAC/B;AAAA,MACA,mBAAAE;AAAA,MACA,UAAAW;AAAA,MACA,gBAAAI;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"PayrollList.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { usePayrollsListSuspense } from '@gusto/embedded-api/react-query/payrollsList'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { usePayrollsSkipMutation } from '@gusto/embedded-api/react-query/payrollsSkip'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api/react-query/payrollsGetBlockers'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api/react-query/wireInRequestsList'\nimport { PayrollType } from '@gusto/embedded-api/models/operations/postcompaniespayrollskipcompanyuuid'\nimport { ProcessingStatuses } from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollListPresentation } from './PayrollListPresentation'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\ninterface PayrollListBlockProps extends BaseComponentInterface {\n companyId: string\n}\n\nexport function PayrollList(props: PayrollListBlockProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst Root = ({ companyId, onEvent }: PayrollListBlockProps) => {\n const { baseSubmitHandler } = useBase()\n const [showSkipSuccessAlert, setShowSkipSuccessAlert] = useState(false)\n const [skippingPayrollId, setSkippingPayrollId] = useState<string | null>(null)\n\n const { data: payrollsData } = usePayrollsListSuspense({\n companyId,\n processingStatuses: [ProcessingStatuses.Unprocessed],\n })\n const payrollList = payrollsData.payrollList!\n const { data: paySchedulesData } = usePaySchedulesGetAllSuspense({\n companyId,\n })\n const paySchedulesList = paySchedulesData.payScheduleList!\n\n const { data: blockersData } = usePayrollsGetBlockersSuspense({\n companyUuid: companyId,\n })\n\n const payrollBlockerList = blockersData.payrollBlockerList ?? []\n\n const blockers: ApiPayrollBlocker[] = payrollBlockerList.map(blocker => ({\n key: blocker.key ?? 'unknown',\n message: blocker.message,\n }))\n\n const { data: wireInRequestsData } = useWireInRequestsListSuspense({\n companyUuid: companyId,\n })\n\n const wireInRequests = wireInRequestsData.wireInRequestList ?? []\n\n const { mutateAsync: skipPayroll } = usePayrollsSkipMutation()\n\n const onRunPayroll = ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => {\n onEvent(componentEvents.RUN_PAYROLL_SELECTED, { payrollUuid, payPeriod })\n }\n const onSubmitPayroll = ({\n payrollUuid,\n payPeriod,\n }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => {\n onEvent(componentEvents.REVIEW_PAYROLL, { payrollUuid, payPeriod })\n }\n const onSkipPayroll = async ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => {\n const payroll = payrollList.find(payroll => payroll.payrollUuid === payrollUuid)\n\n if (payroll?.payPeriod) {\n setSkippingPayrollId(payrollUuid!)\n await baseSubmitHandler({}, async () => {\n await skipPayroll({\n request: {\n companyUuid: companyId,\n requestBody: {\n payrollType: PayrollType.Regular,\n startDate: payroll.payPeriod?.startDate,\n endDate: payroll.payPeriod?.endDate,\n payScheduleUuid: payroll.payPeriod?.payScheduleUuid ?? undefined,\n },\n },\n })\n\n setShowSkipSuccessAlert(true)\n onEvent(componentEvents.PAYROLL_SKIPPED, { payrollId: payrollUuid })\n })\n setSkippingPayrollId(null)\n }\n }\n return (\n <PayrollListPresentation\n payrolls={payrollList}\n paySchedules={paySchedulesList}\n onRunPayroll={onRunPayroll}\n onSubmitPayroll={onSubmitPayroll}\n onSkipPayroll={onSkipPayroll}\n showSkipSuccessAlert={showSkipSuccessAlert}\n onDismissSkipSuccessAlert={() => {\n setShowSkipSuccessAlert(false)\n }}\n skippingPayrollId={skippingPayrollId}\n blockers={blockers}\n wireInRequests={wireInRequests}\n />\n )\n}\n"],"names":["PayrollList","props","jsx","BaseComponent","Root","companyId","onEvent","baseSubmitHandler","useBase","showSkipSuccessAlert","setShowSkipSuccessAlert","useState","skippingPayrollId","setSkippingPayrollId","payrollsData","usePayrollsListSuspense","ProcessingStatuses","payrollList","paySchedulesData","usePaySchedulesGetAllSuspense","paySchedulesList","blockersData","usePayrollsGetBlockersSuspense","blockers","blocker","wireInRequestsData","useWireInRequestsListSuspense","wireInRequests","skipPayroll","usePayrollsSkipMutation","PayrollListPresentation","payrollUuid","payPeriod","componentEvents","payroll","PayrollType"],"mappings":";;;;;;;;;;;;;AAmBO,SAASA,EAAYC,GAA8B;AACxD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,MAAMG,IAAO,CAAC,EAAE,WAAAC,GAAW,SAAAC,QAAqC;AAC9D,QAAM,EAAE,mBAAAC,EAAA,IAAsBC,EAAA,GACxB,CAACC,GAAsBC,CAAuB,IAAIC,EAAS,EAAK,GAChE,CAACC,GAAmBC,CAAoB,IAAIF,EAAwB,IAAI,GAExE,EAAE,MAAMG,EAAA,IAAiBC,EAAwB;AAAA,IACrD,WAAAV;AAAA,IACA,oBAAoB,CAACW,EAAmB,WAAW;AAAA,EAAA,CACpD,GACKC,IAAcH,EAAa,aAC3B,EAAE,MAAMI,EAAA,IAAqBC,EAA8B;AAAA,IAC/D,WAAAd;AAAA,EAAA,CACD,GACKe,IAAmBF,EAAiB,iBAEpC,EAAE,MAAMG,EAAA,IAAiBC,EAA+B;AAAA,IAC5D,aAAajB;AAAA,EAAA,CACd,GAIKkB,KAFqBF,EAAa,sBAAsB,CAAA,GAEL,IAAI,CAAAG,OAAY;AAAA,IACvE,KAAKA,EAAQ,OAAO;AAAA,IACpB,SAASA,EAAQ;AAAA,EAAA,EACjB,GAEI,EAAE,MAAMC,EAAA,IAAuBC,EAA8B;AAAA,IACjE,aAAarB;AAAA,EAAA,CACd,GAEKsB,IAAiBF,EAAmB,qBAAqB,CAAA,GAEzD,EAAE,aAAaG,EAAA,IAAgBC,EAAA;AAmCrC,SACE,gBAAA3B;AAAA,IAAC4B;AAAA,IAAA;AAAA,MACC,UAAUb;AAAA,MACV,cAAcG;AAAA,MACd,cArCiB,CAAC,EAAE,aAAAW,GAAa,WAAAC,QAA4D;AAC/F,QAAA1B,EAAQ2B,EAAgB,sBAAsB,EAAE,aAAAF,GAAa,WAAAC,GAAW;AAAA,MAC1E;AAAA,MAoCI,iBAnCoB,CAAC;AAAA,QACvB,aAAAD;AAAA,QACA,WAAAC;AAAA,MAAA,MACgD;AAChD,QAAA1B,EAAQ2B,EAAgB,gBAAgB,EAAE,aAAAF,GAAa,WAAAC,GAAW;AAAA,MACpE;AAAA,MA+BI,eA9BkB,OAAO,EAAE,aAAAD,QAAgD;AAC7E,cAAMG,IAAUjB,EAAY,KAAK,CAAAiB,MAAWA,EAAQ,gBAAgBH,CAAW;AAE/E,QAAIG,GAAS,cACXrB,EAAqBkB,CAAY,GACjC,MAAMxB,EAAkB,CAAA,GAAI,YAAY;AACtC,gBAAMqB,EAAY;AAAA,YAChB,SAAS;AAAA,cACP,aAAavB;AAAA,cACb,aAAa;AAAA,gBACX,aAAa8B,EAAY;AAAA,gBACzB,WAAWD,EAAQ,WAAW;AAAA,gBAC9B,SAASA,EAAQ,WAAW;AAAA,gBAC5B,iBAAiBA,EAAQ,WAAW,mBAAmB;AAAA,cAAA;AAAA,YACzD;AAAA,UACF,CACD,GAEDxB,EAAwB,EAAI,GAC5BJ,EAAQ2B,EAAgB,iBAAiB,EAAE,WAAWF,GAAa;AAAA,QACrE,CAAC,GACDlB,EAAqB,IAAI;AAAA,MAE7B;AAAA,MAQI,sBAAAJ;AAAA,MACA,2BAA2B,MAAM;AAC/B,QAAAC,EAAwB,EAAK;AAAA,MAC/B;AAAA,MACA,mBAAAE;AAAA,MACA,UAAAW;AAAA,MACA,gBAAAI;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -6,7 +6,6 @@ interface PayrollListPresentationProps {
6
6
  onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void;
7
7
  onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void;
8
8
  onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void;
9
- onViewBlockers?: () => void;
10
9
  payrolls: Payroll[];
11
10
  paySchedules: PayScheduleList[];
12
11
  showSkipSuccessAlert: boolean;
@@ -15,5 +14,5 @@ interface PayrollListPresentationProps {
15
14
  blockers: ApiPayrollBlocker[];
16
15
  wireInRequests: WireInRequest[];
17
16
  }
18
- export declare const PayrollListPresentation: ({ onRunPayroll, onSubmitPayroll, onSkipPayroll, onViewBlockers, payrolls, paySchedules, showSkipSuccessAlert, onDismissSkipSuccessAlert, skippingPayrollId, blockers, wireInRequests, }: PayrollListPresentationProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const PayrollListPresentation: ({ onRunPayroll, onSubmitPayroll, onSkipPayroll, payrolls, paySchedules, showSkipSuccessAlert, onDismissSkipSuccessAlert, skippingPayrollId, blockers, wireInRequests, }: PayrollListPresentationProps) => import("react/jsx-runtime").JSX.Element;
19
18
  export {};
@@ -1,83 +1,81 @@
1
- import { jsx as r, jsxs as s } from "react/jsx-runtime";
2
- import { useRef as q, useState as E } from "react";
3
- import { useTranslation as $ } from "react-i18next";
4
- import { PayrollBlockerAlerts as z } from "../PayrollBlocker/components/PayrollBlockerAlerts.js";
5
- import { getPayrollType as G } from "../helpers.js";
6
- import p from "./PayrollListPresentation.module.scss.js";
7
- import { Flex as c } from "../../Common/Flex/Flex.js";
1
+ import { jsx as a, jsxs as u } from "react/jsx-runtime";
2
+ import { useRef as q, useState as z } from "react";
3
+ import { useTranslation as E } from "react-i18next";
4
+ import { getPayrollType as V } from "../helpers.js";
5
+ import m from "./PayrollListPresentation.module.scss.js";
6
+ import { Flex as i } from "../../Common/Flex/Flex.js";
8
7
  import "classnames";
9
8
  import "../../../shared/constants.js";
10
- import { HamburgerMenu as J } from "../../Common/HamburgerMenu/HamburgerMenu.js";
11
- import { useComponentContext as K } from "../../../contexts/ComponentAdapter/useComponentContext.js";
12
- import { useI18n as Q } from "../../../i18n/I18n.js";
13
- import { formatDateToStringDate as X } from "../../../helpers/dateFormatting.js";
14
- import { useDateFormatter as Z } from "../../../hooks/useDateFormatter.js";
15
- import _ from "../../../assets/icons/feature-icon-check.svg.js";
16
- import { useContainerBreakpoints as ee } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
17
- import { PayrollStatusBadges as te } from "../PayrollStatusBadges/PayrollStatusBadges.js";
18
- import { DataView as re } from "../../Common/DataView/DataView.js";
19
- const be = ({
9
+ import { HamburgerMenu as $ } from "../../Common/HamburgerMenu/HamburgerMenu.js";
10
+ import { useComponentContext as G } from "../../../contexts/ComponentAdapter/useComponentContext.js";
11
+ import { useI18n as J } from "../../../i18n/I18n.js";
12
+ import { formatDateToStringDate as K } from "../../../helpers/dateFormatting.js";
13
+ import { useDateFormatter as Q } from "../../../hooks/useDateFormatter.js";
14
+ import X from "../../../assets/icons/feature-icon-check.svg.js";
15
+ import { useContainerBreakpoints as Z } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
16
+ import { PayrollStatusBadges as _ } from "../PayrollStatusBadges/PayrollStatusBadges.js";
17
+ import { DataView as ee } from "../../Common/DataView/DataView.js";
18
+ const De = ({
20
19
  onRunPayroll: I,
21
- onSubmitPayroll: H,
22
- onSkipPayroll: M,
23
- onViewBlockers: U,
24
- payrolls: O,
20
+ onSubmitPayroll: w,
21
+ onSkipPayroll: H,
22
+ payrolls: U,
25
23
  paySchedules: y,
26
- showSkipSuccessAlert: T,
27
- onDismissSkipSuccessAlert: B,
24
+ showSkipSuccessAlert: M,
25
+ onDismissSkipSuccessAlert: O,
28
26
  skippingPayrollId: f,
29
- blockers: h,
27
+ blockers: T,
30
28
  wireInRequests: N
31
29
  }) => {
32
- const { Button: P, Dialog: W, Heading: F, Text: i, Alert: R } = K();
33
- Q("Payroll.PayrollList");
34
- const { t } = $("Payroll.PayrollList"), n = Z(), g = q(null), D = ee({ ref: g }).includes("large"), [d, k] = E({
30
+ const { Button: P, Dialog: W, Heading: B, Text: p, Alert: F } = G();
31
+ J("Payroll.PayrollList");
32
+ const { t } = E("Payroll.PayrollList"), n = Q(), g = q(null), h = Z({ ref: g }).includes("large"), [s, D] = z({
35
33
  isOpen: !1,
36
34
  payrollId: null,
37
35
  payPeriod: null
38
- }), j = (e, l) => {
39
- k({
36
+ }), R = (e, r) => {
37
+ D({
40
38
  isOpen: !0,
41
39
  payrollId: e,
42
- payPeriod: l
40
+ payPeriod: r
43
41
  });
44
- }, S = () => {
45
- k({
42
+ }, b = () => {
43
+ D({
46
44
  isOpen: !1,
47
45
  payrollId: null,
48
46
  payPeriod: null
49
47
  });
50
- }, Y = () => {
51
- d.payrollId && (M({ payrollUuid: d.payrollId }), S());
52
- }, b = (e, l) => {
53
- const o = n.formatShort(e), a = n.formatShortWithYear(l);
48
+ }, j = () => {
49
+ s.payrollId && (H({ payrollUuid: s.payrollId }), b());
50
+ }, S = (e, r) => {
51
+ const l = n.formatShort(e), o = n.formatShortWithYear(r);
54
52
  return {
55
- startDate: o,
56
- endDate: a,
57
- fullPeriod: n.formatPayPeriodRange(e, l, { useShortMonth: !0 })
53
+ startDate: l,
54
+ endDate: o,
55
+ fullPeriod: n.formatPayPeriodRange(e, r, { useShortMonth: !0 })
58
56
  };
59
- }, C = (e) => {
60
- const { payrollUuid: l, calculatedAt: o, processed: a, payPeriod: u } = e;
61
- if (a)
57
+ }, k = (e) => {
58
+ const { payrollUuid: r, calculatedAt: l, processed: o, payPeriod: c } = e;
59
+ if (o)
62
60
  return null;
63
- const m = f === l;
64
- return o ? /* @__PURE__ */ r(
61
+ const d = f === r;
62
+ return l ? /* @__PURE__ */ a(
65
63
  P,
66
64
  {
67
- isLoading: m,
65
+ isLoading: d,
68
66
  onClick: () => {
69
- H({ payrollUuid: l, payPeriod: u });
67
+ w({ payrollUuid: r, payPeriod: c });
70
68
  },
71
69
  title: t("submitPayrollCta"),
72
70
  variant: "secondary",
73
71
  children: t("submitPayrollCta")
74
72
  }
75
- ) : /* @__PURE__ */ r(
73
+ ) : /* @__PURE__ */ a(
76
74
  P,
77
75
  {
78
- isLoading: m,
76
+ isLoading: d,
79
77
  onClick: () => {
80
- I({ payrollUuid: l, payPeriod: u });
78
+ I({ payrollUuid: r, payPeriod: c });
81
79
  },
82
80
  title: t("runPayrollTitle"),
83
81
  variant: "secondary",
@@ -85,122 +83,119 @@ const be = ({
85
83
  }
86
84
  );
87
85
  };
88
- return /* @__PURE__ */ r("div", { ref: g, className: p.container, children: /* @__PURE__ */ s(c, { flexDirection: "column", gap: 16, children: [
89
- T && /* @__PURE__ */ r("div", { className: p.alertContainer, children: /* @__PURE__ */ r(
90
- R,
86
+ return /* @__PURE__ */ a("div", { ref: g, className: m.container, children: /* @__PURE__ */ u(i, { flexDirection: "column", gap: 16, children: [
87
+ M && /* @__PURE__ */ a("div", { className: m.alertContainer, children: /* @__PURE__ */ a(
88
+ F,
91
89
  {
92
90
  status: "info",
93
91
  label: t("skipSuccessAlert"),
94
- onDismiss: B
92
+ onDismiss: O
95
93
  }
96
94
  ) }),
97
- /* @__PURE__ */ r(z, { blockers: h, onMultipleViewClick: U }),
98
- /* @__PURE__ */ r(
99
- c,
95
+ /* @__PURE__ */ a(
96
+ i,
100
97
  {
101
98
  flexDirection: { base: "column", medium: "row" },
102
99
  justifyContent: "space-between",
103
100
  alignItems: "flex-start",
104
101
  gap: { base: 12, medium: 24 },
105
- children: /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(F, { as: "h2", children: t("title") }) })
102
+ children: /* @__PURE__ */ a(i, { children: /* @__PURE__ */ a(B, { as: "h2", children: t("title") }) })
106
103
  }
107
104
  ),
108
- /* @__PURE__ */ r(
109
- re,
105
+ /* @__PURE__ */ a(
106
+ ee,
110
107
  {
111
108
  breakAt: "large",
112
- emptyState: () => /* @__PURE__ */ s(c, { flexDirection: "column", alignItems: "center", gap: 24, children: [
113
- /* @__PURE__ */ r(_, {}),
114
- /* @__PURE__ */ r(i, { children: t("emptyState") })
109
+ emptyState: () => /* @__PURE__ */ u(i, { flexDirection: "column", alignItems: "center", gap: 24, children: [
110
+ /* @__PURE__ */ a(X, {}),
111
+ /* @__PURE__ */ a(p, { children: t("emptyState") })
115
112
  ] }),
116
- data: O,
113
+ data: U,
117
114
  columns: [
118
115
  {
119
116
  render: ({ payPeriod: e }) => {
120
- const { startDate: l, endDate: o } = b(
117
+ const { startDate: r, endDate: l } = S(
121
118
  e?.startDate,
122
119
  e?.endDate
123
120
  );
124
- return /* @__PURE__ */ s("div", { className: p.payPeriodCell, children: [
125
- /* @__PURE__ */ s(i, { weight: "medium", children: [
126
- l,
127
- " - ",
128
- o
129
- ] }),
130
- /* @__PURE__ */ r(i, { variant: "supporting", children: y.find((a) => a.uuid === e?.payScheduleUuid)?.name || y.find((a) => a.uuid === e?.payScheduleUuid)?.customName })
121
+ return /* @__PURE__ */ u("div", { className: m.payPeriodCell, children: [
122
+ r,
123
+ " - ",
124
+ l,
125
+ /* @__PURE__ */ a(p, { variant: "supporting", size: "sm", children: y.find((o) => o.uuid === e?.payScheduleUuid)?.name || y.find((o) => o.uuid === e?.payScheduleUuid)?.customName })
131
126
  ] });
132
127
  },
133
128
  title: t("tableHeaders.0")
134
129
  },
135
130
  {
136
- render: (e) => /* @__PURE__ */ r(i, { children: t(`type.${G(e)}`) }),
131
+ render: (e) => /* @__PURE__ */ a(p, { children: t(`type.${V(e)}`) }),
137
132
  title: t("tableHeaders.1")
138
133
  },
139
134
  {
140
- render: ({ checkDate: e }) => /* @__PURE__ */ r(i, { children: n.formatShortWithWeekdayAndYear(e) }),
135
+ render: ({ checkDate: e }) => n.formatShortWithWeekdayAndYear(e),
141
136
  title: t("tableHeaders.2")
142
137
  },
143
138
  {
144
139
  title: t("tableHeaders.3"),
145
- render: ({ payrollDeadline: e }) => /* @__PURE__ */ r(i, { children: n.formatShortWithWeekdayAndYear(e) })
140
+ render: ({ payrollDeadline: e }) => n.formatShortWithWeekdayAndYear(e)
146
141
  },
147
142
  {
148
143
  title: t("tableHeaders.4"),
149
144
  render: (e) => {
150
- const l = N.find(
151
- (o) => o.paymentUuid === e.payrollUuid
145
+ const r = N.find(
146
+ (l) => l.paymentUuid === e.payrollUuid
152
147
  );
153
- return /* @__PURE__ */ r(te, { payroll: e, wireInRequest: l });
148
+ return /* @__PURE__ */ a(_, { payroll: e, wireInRequest: r });
154
149
  }
155
150
  },
156
- ...D ? [] : [
151
+ ...h ? [] : [
157
152
  {
158
153
  title: "",
159
154
  render: (e) => {
160
- const l = C(e);
161
- return l ? /* @__PURE__ */ r(c, { flexDirection: "column", alignItems: "stretch", gap: 12, children: l }) : null;
155
+ const r = k(e);
156
+ return r ? /* @__PURE__ */ a(i, { flexDirection: "column", alignItems: "stretch", gap: 12, children: r }) : null;
162
157
  }
163
158
  }
164
159
  ]
165
160
  ],
166
161
  label: t("payrollsListLabel"),
167
162
  itemMenu: (e) => {
168
- const { payrollUuid: l, processed: o, payPeriod: a } = e;
169
- if (o)
163
+ const { payrollUuid: r, processed: l, payPeriod: o } = e;
164
+ if (l)
170
165
  return null;
171
- const u = f === l, { fullPeriod: m } = b(
172
- a?.startDate,
173
- a?.endDate
174
- ), A = X(/* @__PURE__ */ new Date()), L = A ? new Date(A) : null, x = a?.startDate ? new Date(a.startDate) : null, V = h.length === 0 && L && x && L >= x, v = D ? C(e) : null, w = V ? /* @__PURE__ */ r(
175
- J,
166
+ const c = f === r, { fullPeriod: d } = S(
167
+ o?.startDate,
168
+ o?.endDate
169
+ ), C = K(/* @__PURE__ */ new Date()), L = C ? new Date(C) : null, x = o?.startDate ? new Date(o.startDate) : null, Y = T.length === 0 && L && x && L >= x, A = h ? k(e) : null, v = Y ? /* @__PURE__ */ a(
170
+ $,
176
171
  {
177
- isLoading: u,
172
+ isLoading: c,
178
173
  menuLabel: t("payrollMenuLabel"),
179
174
  items: [
180
175
  {
181
176
  label: t("skipPayrollCta"),
182
177
  onClick: () => {
183
- j(l, m);
178
+ R(r, d);
184
179
  }
185
180
  }
186
181
  ]
187
182
  }
188
183
  ) : null;
189
- return !v && !w ? null : /* @__PURE__ */ s("div", { className: p.actionsContainer, children: [
190
- v,
191
- w
184
+ return !A && !v ? null : /* @__PURE__ */ u("div", { className: m.actionsContainer, children: [
185
+ A,
186
+ v
192
187
  ] });
193
188
  }
194
189
  }
195
190
  ),
196
- /* @__PURE__ */ r(
191
+ /* @__PURE__ */ a(
197
192
  W,
198
193
  {
199
- isOpen: d.isOpen,
200
- onClose: S,
201
- onPrimaryActionClick: Y,
194
+ isOpen: s.isOpen,
195
+ onClose: b,
196
+ onPrimaryActionClick: j,
202
197
  isDestructive: !0,
203
- title: t("skipPayrollDialog.title", { payPeriod: d.payPeriod }),
198
+ title: t("skipPayrollDialog.title", { payPeriod: s.payPeriod }),
204
199
  primaryActionLabel: t("skipPayrollDialog.confirmCta"),
205
200
  closeActionLabel: t("skipPayrollDialog.cancelCta"),
206
201
  children: t("skipPayrollDialog.body")
@@ -209,6 +204,6 @@ const be = ({
209
204
  ] }) });
210
205
  };
211
206
  export {
212
- be as PayrollListPresentation
207
+ De as PayrollListPresentation
213
208
  };
214
209
  //# sourceMappingURL=PayrollListPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayScheduleList } from '@gusto/embedded-api/models/components/payschedulelist'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { useState, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollBlockerAlerts } from '../PayrollBlocker/components/PayrollBlockerAlerts'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollType } from '../helpers'\nimport styles from './PayrollListPresentation.module.scss'\nimport { DataView, Flex, HamburgerMenu } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport FeatureIconCheck from '@/assets/icons/feature-icon-check.svg?react'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\ninterface PayrollListPresentationProps {\n onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onViewBlockers?: () => void\n payrolls: Payroll[]\n paySchedules: PayScheduleList[]\n showSkipSuccessAlert: boolean\n onDismissSkipSuccessAlert: () => void\n skippingPayrollId: string | null\n blockers: ApiPayrollBlocker[]\n wireInRequests: WireInRequest[]\n}\n\nexport const PayrollListPresentation = ({\n onRunPayroll,\n onSubmitPayroll,\n onSkipPayroll,\n onViewBlockers,\n payrolls,\n paySchedules,\n showSkipSuccessAlert,\n onDismissSkipSuccessAlert,\n skippingPayrollId,\n blockers,\n wireInRequests,\n}: PayrollListPresentationProps) => {\n const { Button, Dialog, Heading, Text, Alert } = useComponentContext()\n useI18n('Payroll.PayrollList')\n const { t } = useTranslation('Payroll.PayrollList')\n const dateFormatter = useDateFormatter()\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isDesktop = breakpoints.includes('large')\n const [skipPayrollDialogState, setSkipPayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenSkipDialog = (payrollId: string, payPeriod: string) => {\n setSkipPayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseSkipDialog = () => {\n setSkipPayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmSkipPayroll = () => {\n if (skipPayrollDialogState.payrollId) {\n onSkipPayroll({ payrollUuid: skipPayrollDialogState.payrollId })\n handleCloseSkipDialog()\n }\n }\n\n const formatPayPeriod = (startDate: string | undefined, endDate: string | undefined) => {\n const formattedStartDate = dateFormatter.formatShort(startDate)\n const formattedEndDate = dateFormatter.formatShortWithYear(endDate)\n\n return {\n startDate: formattedStartDate,\n endDate: formattedEndDate,\n fullPeriod: dateFormatter.formatPayPeriodRange(startDate, endDate, { useShortMonth: true }),\n }\n }\n\n const renderActionButton = (payroll: Payroll) => {\n const { payrollUuid, calculatedAt, processed, payPeriod } = payroll\n\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n\n return calculatedAt ? (\n <Button\n isLoading={isProcessingSkipPayroll}\n onClick={() => {\n onSubmitPayroll({ payrollUuid, payPeriod })\n }}\n title={t('submitPayrollCta')}\n variant=\"secondary\"\n >\n {t('submitPayrollCta')}\n </Button>\n ) : (\n <Button\n isLoading={isProcessingSkipPayroll}\n onClick={() => {\n onRunPayroll({ payrollUuid, payPeriod })\n }}\n title={t('runPayrollTitle')}\n variant=\"secondary\"\n >\n {t('runPayrollTitle')}\n </Button>\n )\n }\n\n return (\n <div ref={containerRef} className={styles.container}>\n <Flex flexDirection=\"column\" gap={16}>\n {showSkipSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('skipSuccessAlert')}\n onDismiss={onDismissSkipSuccessAlert}\n />\n </div>\n )}\n <PayrollBlockerAlerts blockers={blockers} onMultipleViewClick={onViewBlockers} />\n <Flex\n flexDirection={{ base: 'column', medium: 'row' }}\n justifyContent=\"space-between\"\n alignItems=\"flex-start\"\n gap={{ base: 12, medium: 24 }}\n >\n <Flex>\n <Heading as=\"h2\">{t('title')}</Heading>\n </Flex>\n </Flex>\n\n <DataView\n breakAt=\"large\"\n emptyState={() => (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={24}>\n <FeatureIconCheck />\n <Text>{t('emptyState')}</Text>\n </Flex>\n )}\n data={payrolls}\n columns={[\n {\n render: ({ payPeriod }) => {\n const { startDate, endDate } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n return (\n <div className={styles.payPeriodCell}>\n <Text weight=\"medium\">\n {startDate} - {endDate}\n </Text>\n <Text variant=\"supporting\">\n {paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.name ||\n paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.customName}\n </Text>\n </div>\n )\n },\n title: t('tableHeaders.0'),\n },\n {\n render: payroll => <Text>{t(`type.${getPayrollType(payroll)}`)}</Text>,\n title: t('tableHeaders.1'),\n },\n {\n render: ({ checkDate }) => (\n <Text>{dateFormatter.formatShortWithWeekdayAndYear(checkDate)}</Text>\n ),\n title: t('tableHeaders.2'),\n },\n {\n title: t('tableHeaders.3'),\n render: ({ payrollDeadline }) => (\n <Text>{dateFormatter.formatShortWithWeekdayAndYear(payrollDeadline)}</Text>\n ),\n },\n {\n title: t('tableHeaders.4'),\n render: payroll => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === payroll.payrollUuid,\n )\n return <PayrollStatusBadges payroll={payroll} wireInRequest={wireInRequest} />\n },\n },\n ...(!isDesktop\n ? [\n {\n title: '',\n render: (payroll: Payroll) => {\n const button = renderActionButton(payroll)\n if (!button) return null\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={12}>\n {button}\n </Flex>\n )\n },\n },\n ]\n : []),\n ]}\n label={t('payrollsListLabel')}\n itemMenu={payroll => {\n const { payrollUuid, processed, payPeriod } = payroll\n\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n\n const { fullPeriod: payPeriodString } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n const todayDateString = formatDateToStringDate(new Date())\n const todayAtMidnight = todayDateString ? new Date(todayDateString) : null\n const payPeriodStartDate = payPeriod?.startDate ? new Date(payPeriod.startDate) : null\n\n const canSkipPayroll =\n blockers.length === 0 &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const button = isDesktop ? renderActionButton(payroll) : null\n\n const hamburgerMenu = canSkipPayroll ? (\n <HamburgerMenu\n isLoading={isProcessingSkipPayroll}\n menuLabel={t('payrollMenuLabel')}\n items={[\n {\n label: t('skipPayrollCta'),\n onClick: () => {\n handleOpenSkipDialog(payrollUuid!, payPeriodString)\n },\n },\n ]}\n />\n ) : null\n\n if (!button && !hamburgerMenu) {\n return null\n }\n\n return (\n <div className={styles.actionsContainer}>\n {button}\n {hamburgerMenu}\n </div>\n )\n }}\n />\n <Dialog\n isOpen={skipPayrollDialogState.isOpen}\n onClose={handleCloseSkipDialog}\n onPrimaryActionClick={handleConfirmSkipPayroll}\n isDestructive={true}\n title={t('skipPayrollDialog.title', { payPeriod: skipPayrollDialogState.payPeriod })}\n primaryActionLabel={t('skipPayrollDialog.confirmCta')}\n closeActionLabel={t('skipPayrollDialog.cancelCta')}\n >\n {t('skipPayrollDialog.body')}\n </Dialog>\n </Flex>\n </div>\n )\n}\n"],"names":["PayrollListPresentation","onRunPayroll","onSubmitPayroll","onSkipPayroll","onViewBlockers","payrolls","paySchedules","showSkipSuccessAlert","onDismissSkipSuccessAlert","skippingPayrollId","blockers","wireInRequests","Button","Dialog","Heading","Text","Alert","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","containerRef","useRef","isDesktop","useContainerBreakpoints","skipPayrollDialogState","setSkipPayrollDialogState","useState","handleOpenSkipDialog","payrollId","payPeriod","handleCloseSkipDialog","handleConfirmSkipPayroll","formatPayPeriod","startDate","endDate","formattedStartDate","formattedEndDate","renderActionButton","payroll","payrollUuid","calculatedAt","processed","isProcessingSkipPayroll","jsx","styles","jsxs","Flex","PayrollBlockerAlerts","DataView","FeatureIconCheck","schedule","getPayrollType","checkDate","payrollDeadline","wireInRequest","wire","PayrollStatusBadges","button","payPeriodString","todayDateString","formatDateToStringDate","todayAtMidnight","payPeriodStartDate","canSkipPayroll","hamburgerMenu","HamburgerMenu"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayScheduleList } from '@gusto/embedded-api/models/components/payschedulelist'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { useState, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollType } from '../helpers'\nimport styles from './PayrollListPresentation.module.scss'\nimport { DataView, Flex, HamburgerMenu } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport FeatureIconCheck from '@/assets/icons/feature-icon-check.svg?react'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\ninterface PayrollListPresentationProps {\n onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n payrolls: Payroll[]\n paySchedules: PayScheduleList[]\n showSkipSuccessAlert: boolean\n onDismissSkipSuccessAlert: () => void\n skippingPayrollId: string | null\n blockers: ApiPayrollBlocker[]\n wireInRequests: WireInRequest[]\n}\n\nexport const PayrollListPresentation = ({\n onRunPayroll,\n onSubmitPayroll,\n onSkipPayroll,\n payrolls,\n paySchedules,\n showSkipSuccessAlert,\n onDismissSkipSuccessAlert,\n skippingPayrollId,\n blockers,\n wireInRequests,\n}: PayrollListPresentationProps) => {\n const { Button, Dialog, Heading, Text, Alert } = useComponentContext()\n useI18n('Payroll.PayrollList')\n const { t } = useTranslation('Payroll.PayrollList')\n const dateFormatter = useDateFormatter()\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isDesktop = breakpoints.includes('large')\n const [skipPayrollDialogState, setSkipPayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenSkipDialog = (payrollId: string, payPeriod: string) => {\n setSkipPayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseSkipDialog = () => {\n setSkipPayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmSkipPayroll = () => {\n if (skipPayrollDialogState.payrollId) {\n onSkipPayroll({ payrollUuid: skipPayrollDialogState.payrollId })\n handleCloseSkipDialog()\n }\n }\n\n const formatPayPeriod = (startDate: string | undefined, endDate: string | undefined) => {\n const formattedStartDate = dateFormatter.formatShort(startDate)\n const formattedEndDate = dateFormatter.formatShortWithYear(endDate)\n\n return {\n startDate: formattedStartDate,\n endDate: formattedEndDate,\n fullPeriod: dateFormatter.formatPayPeriodRange(startDate, endDate, { useShortMonth: true }),\n }\n }\n\n const renderActionButton = (payroll: Payroll) => {\n const { payrollUuid, calculatedAt, processed, payPeriod } = payroll\n\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n\n return calculatedAt ? (\n <Button\n isLoading={isProcessingSkipPayroll}\n onClick={() => {\n onSubmitPayroll({ payrollUuid, payPeriod })\n }}\n title={t('submitPayrollCta')}\n variant=\"secondary\"\n >\n {t('submitPayrollCta')}\n </Button>\n ) : (\n <Button\n isLoading={isProcessingSkipPayroll}\n onClick={() => {\n onRunPayroll({ payrollUuid, payPeriod })\n }}\n title={t('runPayrollTitle')}\n variant=\"secondary\"\n >\n {t('runPayrollTitle')}\n </Button>\n )\n }\n\n return (\n <div ref={containerRef} className={styles.container}>\n <Flex flexDirection=\"column\" gap={16}>\n {showSkipSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('skipSuccessAlert')}\n onDismiss={onDismissSkipSuccessAlert}\n />\n </div>\n )}\n <Flex\n flexDirection={{ base: 'column', medium: 'row' }}\n justifyContent=\"space-between\"\n alignItems=\"flex-start\"\n gap={{ base: 12, medium: 24 }}\n >\n <Flex>\n <Heading as=\"h2\">{t('title')}</Heading>\n </Flex>\n </Flex>\n\n <DataView\n breakAt=\"large\"\n emptyState={() => (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={24}>\n <FeatureIconCheck />\n <Text>{t('emptyState')}</Text>\n </Flex>\n )}\n data={payrolls}\n columns={[\n {\n render: ({ payPeriod }) => {\n const { startDate, endDate } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n return (\n <div className={styles.payPeriodCell}>\n {startDate} - {endDate}\n <Text variant=\"supporting\" size=\"sm\">\n {paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.name ||\n paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.customName}\n </Text>\n </div>\n )\n },\n title: t('tableHeaders.0'),\n },\n {\n render: payroll => <Text>{t(`type.${getPayrollType(payroll)}`)}</Text>,\n title: t('tableHeaders.1'),\n },\n {\n render: ({ checkDate }) => dateFormatter.formatShortWithWeekdayAndYear(checkDate),\n title: t('tableHeaders.2'),\n },\n {\n title: t('tableHeaders.3'),\n render: ({ payrollDeadline }) =>\n dateFormatter.formatShortWithWeekdayAndYear(payrollDeadline),\n },\n {\n title: t('tableHeaders.4'),\n render: payroll => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === payroll.payrollUuid,\n )\n return <PayrollStatusBadges payroll={payroll} wireInRequest={wireInRequest} />\n },\n },\n ...(!isDesktop\n ? [\n {\n title: '',\n render: (payroll: Payroll) => {\n const button = renderActionButton(payroll)\n if (!button) return null\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={12}>\n {button}\n </Flex>\n )\n },\n },\n ]\n : []),\n ]}\n label={t('payrollsListLabel')}\n itemMenu={payroll => {\n const { payrollUuid, processed, payPeriod } = payroll\n\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n\n const { fullPeriod: payPeriodString } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n const todayDateString = formatDateToStringDate(new Date())\n const todayAtMidnight = todayDateString ? new Date(todayDateString) : null\n const payPeriodStartDate = payPeriod?.startDate ? new Date(payPeriod.startDate) : null\n\n const canSkipPayroll =\n blockers.length === 0 &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const button = isDesktop ? renderActionButton(payroll) : null\n\n const hamburgerMenu = canSkipPayroll ? (\n <HamburgerMenu\n isLoading={isProcessingSkipPayroll}\n menuLabel={t('payrollMenuLabel')}\n items={[\n {\n label: t('skipPayrollCta'),\n onClick: () => {\n handleOpenSkipDialog(payrollUuid!, payPeriodString)\n },\n },\n ]}\n />\n ) : null\n\n if (!button && !hamburgerMenu) {\n return null\n }\n\n return (\n <div className={styles.actionsContainer}>\n {button}\n {hamburgerMenu}\n </div>\n )\n }}\n />\n <Dialog\n isOpen={skipPayrollDialogState.isOpen}\n onClose={handleCloseSkipDialog}\n onPrimaryActionClick={handleConfirmSkipPayroll}\n isDestructive={true}\n title={t('skipPayrollDialog.title', { payPeriod: skipPayrollDialogState.payPeriod })}\n primaryActionLabel={t('skipPayrollDialog.confirmCta')}\n closeActionLabel={t('skipPayrollDialog.cancelCta')}\n >\n {t('skipPayrollDialog.body')}\n </Dialog>\n </Flex>\n </div>\n )\n}\n"],"names":["PayrollListPresentation","onRunPayroll","onSubmitPayroll","onSkipPayroll","payrolls","paySchedules","showSkipSuccessAlert","onDismissSkipSuccessAlert","skippingPayrollId","blockers","wireInRequests","Button","Dialog","Heading","Text","Alert","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","containerRef","useRef","isDesktop","useContainerBreakpoints","skipPayrollDialogState","setSkipPayrollDialogState","useState","handleOpenSkipDialog","payrollId","payPeriod","handleCloseSkipDialog","handleConfirmSkipPayroll","formatPayPeriod","startDate","endDate","formattedStartDate","formattedEndDate","renderActionButton","payroll","payrollUuid","calculatedAt","processed","isProcessingSkipPayroll","jsx","styles","jsxs","Flex","DataView","FeatureIconCheck","schedule","getPayrollType","checkDate","payrollDeadline","wireInRequest","wire","PayrollStatusBadges","button","payPeriodString","todayDateString","formatDateToStringDate","todayAtMidnight","payPeriodStartDate","canSkipPayroll","hamburgerMenu","HamburgerMenu"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollOverview.js","sources":["../../../../src/components/Payroll/PayrollOverview/PayrollOverview.tsx"],"sourcesContent":["import { usePayrollsSubmitMutation } from '@gusto/embedded-api/react-query/payrollsSubmit'\nimport { usePayrollsCancelMutation } from '@gusto/embedded-api/react-query/payrollsCancel'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { useTranslation } from 'react-i18next'\nimport { useBankAccountsGetSuspense } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api/react-query/employeesList'\nimport { useWireInRequestsGet } from '@gusto/embedded-api/react-query/wireInRequestsGet'\nimport { useEffect, useState } from 'react'\nimport { useGustoEmbeddedContext } from '@gusto/embedded-api/react-query/_context'\nimport { payrollsGetPayStub } from '@gusto/embedded-api/funcs/payrollsGetPayStub'\nimport { useErrorBoundary } from 'react-error-boundary'\nimport type { PayrollSubmissionBlockersType } from '@gusto/embedded-api/models/components/payrollsubmissionblockerstype'\nimport type { PayrollCreditBlockersType } from '@gusto/embedded-api/models/components/payrollcreditblockerstype'\nimport type { PayrollFlowAlert } from '../PayrollFlow/PayrollFlowComponents'\nimport {\n ConfirmWireDetails,\n type ConfirmWireDetailsComponentType,\n} from '../ConfirmWireDetails/ConfirmWireDetails'\nimport { canCancelPayroll } from '../helpers'\nimport { PayrollOverviewPresentation } from './PayrollOverviewPresentation'\nimport { PayrollOverviewStatus } from './PayrollOverviewTypes'\nimport {\n componentEvents,\n payrollWireEvents,\n PAYROLL_PROCESSING_STATUS,\n PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES,\n type EventType,\n} from '@/shared/constants'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { readableStreamToBlob } from '@/helpers/readableStreamToBlob'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { renderErrorList } from '@/helpers/apiErrorToList'\nimport { Flex } from '@/components/Common'\n\ninterface PayrollOverviewProps extends BaseComponentInterface<'Payroll.PayrollOverview'> {\n companyId: string\n payrollId: string\n alerts?: PayrollFlowAlert[]\n withReimbursements?: boolean\n ConfirmWireDetailsComponent?: ConfirmWireDetailsComponentType\n}\n\nconst findUnresolvedBlockersWithOptions = (blockers: PayrollSubmissionBlockersType[] = []) => {\n return blockers.filter(\n blocker =>\n blocker.status === 'unresolved' &&\n blocker.unblockOptions &&\n blocker.unblockOptions.length > 0,\n )\n}\n\nconst findWireInRequestUuid = (\n creditBlockers: PayrollCreditBlockersType[] = [],\n): string | undefined => {\n const unresolvedCreditBlocker = creditBlockers.find(blocker => blocker.status === 'unresolved')\n\n if (!unresolvedCreditBlocker?.unblockOptions) {\n return undefined\n }\n\n const wireUnblockOption = unresolvedCreditBlocker.unblockOptions.find(\n option => option.unblockType === 'submit_wire',\n )\n\n return wireUnblockOption?.metadata.wireInRequestUuid\n}\n\nexport function PayrollOverview(props: PayrollOverviewProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({\n companyId,\n payrollId,\n dictionary,\n onEvent,\n alerts,\n withReimbursements = true,\n ConfirmWireDetailsComponent = ConfirmWireDetails,\n}: PayrollOverviewProps) => {\n useComponentDictionary('Payroll.PayrollOverview', dictionary)\n useI18n('Payroll.PayrollOverview')\n const { baseSubmitHandler } = useBase()\n const { t } = useTranslation('Payroll.PayrollOverview')\n const [isPolling, setIsPolling] = useState(false)\n const [internalAlerts, setInternalAlerts] = useState<PayrollFlowAlert[]>(alerts || [])\n const [selectedUnblockOptions, setSelectedUnblockOptions] = useState<Record<string, string>>({})\n const [showWireDetailsConfirmation, setShowWireDetailsConfirmation] = useState(false)\n const { showBoundary } = useErrorBoundary()\n const formatCurrency = useNumberFormatter('currency')\n const dateFormatter = useDateFormatter()\n const { Button, UnorderedList, Text } = useComponentContext()\n const [status, setStatus] = useState<PayrollOverviewStatus>(PayrollOverviewStatus.Viewing)\n const { data } = usePayrollsGetSuspense(\n {\n companyId,\n payrollId: payrollId,\n include: ['taxes', 'benefits', 'deductions'],\n },\n { refetchInterval: isPolling ? 5_000 : false },\n )\n const payrollData = data.payrollShow!\n const submissionBlockers = findUnresolvedBlockersWithOptions(payrollData.submissionBlockers)\n const wireInId = findWireInRequestUuid(payrollData.creditBlockers)\n\n const { data: wireInRequestData } = useWireInRequestsGet(\n {\n wireInRequestUuid: wireInId || '',\n },\n { enabled: !!wireInId },\n )\n const wireInRequest = wireInRequestData?.wireInRequest\n\n const onEdit = () => {\n onEvent(componentEvents.RUN_PAYROLL_EDIT)\n }\n\n const handleWireEvent = (type: EventType, data?: unknown) => {\n if (type === payrollWireEvents.PAYROLL_WIRE_FORM_DONE) {\n setShowWireDetailsConfirmation(true)\n }\n onEvent(type, data)\n }\n\n const wireInConfirmationRequest = wireInId && (\n <ConfirmWireDetailsComponent\n companyId={companyId}\n wireInId={wireInId}\n onEvent={handleWireEvent}\n />\n )\n\n useEffect(() => {\n if (wireInRequest?.status === 'pending_review' && !showWireDetailsConfirmation) {\n setShowWireDetailsConfirmation(true)\n }\n }, [wireInRequest?.status, showWireDetailsConfirmation])\n\n useEffect(() => {\n if (showWireDetailsConfirmation) {\n const checkDate = dateFormatter.formatShortWithYear(payrollData.checkDate)\n\n setInternalAlerts([\n {\n type: 'success',\n title: t('alerts.wireDetailsSubmittedTitle'),\n content: <Text>{t('alerts.wireDetailsSubmittedMessage', { checkDate })}</Text>,\n onDismiss: () => {\n setShowWireDetailsConfirmation(false)\n },\n },\n ])\n }\n }, [showWireDetailsConfirmation, payrollData.checkDate, t, dateFormatter, Text])\n\n useEffect(() => {\n // Start polling when payroll is submitting and not already polling\n if (\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submitting &&\n !isPolling\n ) {\n setIsPolling(true)\n }\n // Stop polling and emit event when payroll is processed successfully\n if (\n isPolling &&\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submit_success\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSED)\n setInternalAlerts([\n {\n type: 'success',\n title: t('alerts.payrollProcessedTitle'),\n content: t('alerts.payrollProcessedMessage', {\n amount: formatCurrency(Number(payrollData.totals?.companyDebit)),\n date: dateFormatter.formatShortWithYear(\n payrollData.payrollStatusMeta?.expectedDebitTime ?? payrollData.payrollDeadline,\n ),\n }),\n },\n ])\n setShowWireDetailsConfirmation(false)\n setIsPolling(false)\n }\n // If we are polling and payroll is in failed state, stop polling, and emit failure event\n if (\n isPolling &&\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.processing_failed\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setInternalAlerts([\n {\n type: 'error',\n title: t('alerts.payrollProcessingFailedTitle'),\n content: (\n <Flex flexDirection=\"column\" gap={16}>\n <UnorderedList items={renderErrorList(payrollData.processingRequest.errors ?? [])} />\n <Button variant=\"secondary\" onClick={onEdit}>\n {t('alerts.payrollProcessingFailedCtaLabel')}\n </Button>\n </Flex>\n ),\n },\n ])\n setShowWireDetailsConfirmation(false)\n setIsPolling(false)\n }\n }, [\n payrollData.processingRequest?.status,\n isPolling,\n onEvent,\n t,\n dateFormatter,\n formatCurrency,\n payrollData.totals?.netPayDebit,\n payrollData.payrollStatusMeta?.expectedDebitTime,\n payrollData.payrollDeadline,\n ])\n\n const { data: bankAccountData } = useBankAccountsGetSuspense({\n companyId,\n })\n const bankAccount = bankAccountData.companyBankAccounts?.[0]\n\n const { data: employeeData } = useEmployeesListSuspense({\n companyId,\n })\n\n const { mutateAsync: submitPayroll, isPending } = usePayrollsSubmitMutation()\n\n const { mutateAsync: cancelPayroll } = usePayrollsCancelMutation()\n\n if (status === PayrollOverviewStatus.Viewing && !payrollData.calculatedAt) {\n throw new Error(t('alerts.payrollNotCalculated'))\n }\n const gustoEmbedded = useGustoEmbeddedContext()\n\n const taxes =\n payrollData.employeeCompensations?.reduce(\n (acc, compensation) => {\n compensation.taxes?.forEach(tax => {\n acc[tax.name] = {\n employee: (acc[tax.name]?.employee ?? 0) + (tax.employer ? 0 : tax.amount),\n employer: (acc[tax.name]?.employer ?? 0) + (tax.employer ? tax.amount : 0),\n }\n })\n\n return acc\n },\n {} as Record<string, { employee: number; employer: number }>,\n ) || {}\n\n const onCancel = async () => {\n setStatus(PayrollOverviewStatus.Cancelling)\n await baseSubmitHandler(data, async () => {\n try {\n const result = await cancelPayroll({\n request: {\n companyId,\n payrollId,\n },\n })\n setStatus(PayrollOverviewStatus.Cancelled)\n onEvent(componentEvents.RUN_PAYROLL_CANCELLED, result)\n } catch (error) {\n setStatus(PayrollOverviewStatus.Viewing)\n throw error\n }\n })\n }\n const onPayrollReceipt = () => {\n onEvent(componentEvents.RUN_PAYROLL_RECEIPT_GET, { payrollId })\n }\n\n const onPaystubDownload = async (employeeId: string) => {\n // Open a blank window *synchronously* with the click\n const newWindow = window.open('', '_blank')\n\n try {\n // Fetch the PDF from your API\n const response = await payrollsGetPayStub(gustoEmbedded, { payrollId, employeeId })\n if (!response.value?.responseStream) {\n throw new Error(t('alerts.paystubPdfError'))\n }\n const pdfBlob = await readableStreamToBlob(response.value.responseStream, 'application/pdf')\n\n const url = URL.createObjectURL(pdfBlob)\n\n // Load the PDF into the new window\n if (newWindow) {\n newWindow.location.href = url\n }\n onEvent(componentEvents.RUN_PAYROLL_PDF_PAYSTUB_VIEWED, { employeeId })\n URL.revokeObjectURL(url) // Clean up the URL object after use\n } catch (err) {\n if (newWindow) {\n newWindow.close()\n }\n showBoundary(err instanceof Error ? err : new Error(String(err)))\n }\n }\n const onSubmit = async () => {\n await baseSubmitHandler(data, async () => {\n const result = await submitPayroll({\n request: {\n companyId,\n payrollId,\n requestBody: {\n submissionBlockers: Object.entries(selectedUnblockOptions)\n .filter(([blockerType]) =>\n PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES.includes(blockerType),\n )\n .map(([blockerType, selectedOption]) => ({\n blockerType,\n selectedOption,\n })),\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_SUBMITTED, result)\n setIsPolling(true)\n })\n }\n\n return (\n <PayrollOverviewPresentation\n onEdit={onEdit}\n onSubmit={onSubmit}\n onCancel={onCancel}\n onPayrollReceipt={onPayrollReceipt}\n onPaystubDownload={onPaystubDownload}\n status={isPending || isPolling ? PayrollOverviewStatus.Submitting : status}\n isProcessed={\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submit_success\n }\n canCancel={canCancelPayroll(payrollData)}\n payrollData={payrollData}\n bankAccount={bankAccount}\n employeeDetails={employeeData.showEmployees || []}\n taxes={taxes}\n alerts={internalAlerts}\n submissionBlockers={submissionBlockers}\n selectedUnblockOptions={selectedUnblockOptions}\n onUnblockOptionChange={(blockerType, value) => {\n setSelectedUnblockOptions(prev => ({ ...prev, [blockerType]: value }))\n }}\n wireInConfirmationRequest={wireInConfirmationRequest}\n withReimbursements={withReimbursements}\n />\n )\n}\n"],"names":["findUnresolvedBlockersWithOptions","blockers","blocker","findWireInRequestUuid","creditBlockers","unresolvedCreditBlocker","option","PayrollOverview","props","jsx","BaseComponent","Root","companyId","payrollId","dictionary","onEvent","alerts","withReimbursements","ConfirmWireDetailsComponent","ConfirmWireDetails","useComponentDictionary","useI18n","baseSubmitHandler","useBase","t","useTranslation","isPolling","setIsPolling","useState","internalAlerts","setInternalAlerts","selectedUnblockOptions","setSelectedUnblockOptions","showWireDetailsConfirmation","setShowWireDetailsConfirmation","showBoundary","useErrorBoundary","formatCurrency","useNumberFormatter","dateFormatter","useDateFormatter","Button","UnorderedList","Text","useComponentContext","status","setStatus","PayrollOverviewStatus","data","usePayrollsGetSuspense","payrollData","submissionBlockers","wireInId","wireInRequestData","useWireInRequestsGet","wireInRequest","onEdit","componentEvents","wireInConfirmationRequest","type","payrollWireEvents","useEffect","checkDate","PAYROLL_PROCESSING_STATUS","jsxs","Flex","renderErrorList","bankAccountData","useBankAccountsGetSuspense","bankAccount","employeeData","useEmployeesListSuspense","submitPayroll","isPending","usePayrollsSubmitMutation","cancelPayroll","usePayrollsCancelMutation","gustoEmbedded","useGustoEmbeddedContext","taxes","acc","compensation","tax","PayrollOverviewPresentation","result","blockerType","PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES","selectedOption","error","employeeId","newWindow","response","payrollsGetPayStub","pdfBlob","readableStreamToBlob","url","err","canCancelPayroll","value","prev"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollOverview.js","sources":["../../../../src/components/Payroll/PayrollOverview/PayrollOverview.tsx"],"sourcesContent":["import { usePayrollsSubmitMutation } from '@gusto/embedded-api/react-query/payrollsSubmit'\nimport { usePayrollsCancelMutation } from '@gusto/embedded-api/react-query/payrollsCancel'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { useTranslation } from 'react-i18next'\nimport { useBankAccountsGetSuspense } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api/react-query/employeesList'\nimport { useWireInRequestsGet } from '@gusto/embedded-api/react-query/wireInRequestsGet'\nimport { useEffect, useState } from 'react'\nimport { useGustoEmbeddedContext } from '@gusto/embedded-api/react-query/_context'\nimport { payrollsGetPayStub } from '@gusto/embedded-api/funcs/payrollsGetPayStub'\nimport { useErrorBoundary } from 'react-error-boundary'\nimport type { PayrollSubmissionBlockerType } from '@gusto/embedded-api/models/components/payrollsubmissionblockertype'\nimport type {\n PayrollCreditBlockerType,\n PayrollCreditBlockerTypeUnblockOptions,\n} from '@gusto/embedded-api/models/components/payrollcreditblockertype'\nimport type { PayrollFlowAlert } from '../PayrollFlow/PayrollFlowComponents'\nimport {\n ConfirmWireDetails,\n type ConfirmWireDetailsComponentType,\n} from '../ConfirmWireDetails/ConfirmWireDetails'\nimport { canCancelPayroll } from '../helpers'\nimport { PayrollOverviewPresentation } from './PayrollOverviewPresentation'\nimport { PayrollOverviewStatus } from './PayrollOverviewTypes'\nimport {\n componentEvents,\n payrollWireEvents,\n PAYROLL_PROCESSING_STATUS,\n PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES,\n type EventType,\n} from '@/shared/constants'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { readableStreamToBlob } from '@/helpers/readableStreamToBlob'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { renderErrorList } from '@/helpers/apiErrorToList'\nimport { Flex } from '@/components/Common'\n\ninterface PayrollOverviewProps extends BaseComponentInterface<'Payroll.PayrollOverview'> {\n companyId: string\n payrollId: string\n alerts?: PayrollFlowAlert[]\n withReimbursements?: boolean\n ConfirmWireDetailsComponent?: ConfirmWireDetailsComponentType\n}\n\nconst findUnresolvedBlockersWithOptions = (blockers: PayrollSubmissionBlockerType[] = []) => {\n return blockers.filter(\n blocker =>\n blocker.status === 'unresolved' &&\n blocker.unblockOptions &&\n blocker.unblockOptions.length > 0,\n )\n}\n\nconst findWireInRequestUuid = (\n creditBlockers: PayrollCreditBlockerType[] = [],\n): string | undefined => {\n const unresolvedCreditBlocker = creditBlockers.find(blocker => blocker.status === 'unresolved')\n\n if (!unresolvedCreditBlocker?.unblockOptions) {\n return undefined\n }\n\n const wireUnblockOption = unresolvedCreditBlocker.unblockOptions.find(\n (option: PayrollCreditBlockerTypeUnblockOptions) => option.unblockType === 'submit_wire',\n )\n\n return wireUnblockOption?.metadata.wireInRequestUuid\n}\n\nexport function PayrollOverview(props: PayrollOverviewProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({\n companyId,\n payrollId,\n dictionary,\n onEvent,\n alerts,\n withReimbursements = true,\n ConfirmWireDetailsComponent = ConfirmWireDetails,\n}: PayrollOverviewProps) => {\n useComponentDictionary('Payroll.PayrollOverview', dictionary)\n useI18n('Payroll.PayrollOverview')\n const { baseSubmitHandler } = useBase()\n const { t } = useTranslation('Payroll.PayrollOverview')\n const [isPolling, setIsPolling] = useState(false)\n const [internalAlerts, setInternalAlerts] = useState<PayrollFlowAlert[]>(alerts || [])\n const [selectedUnblockOptions, setSelectedUnblockOptions] = useState<Record<string, string>>({})\n const [showWireDetailsConfirmation, setShowWireDetailsConfirmation] = useState(false)\n const { showBoundary } = useErrorBoundary()\n const formatCurrency = useNumberFormatter('currency')\n const dateFormatter = useDateFormatter()\n const { Button, UnorderedList, Text } = useComponentContext()\n const [status, setStatus] = useState<PayrollOverviewStatus>(PayrollOverviewStatus.Viewing)\n const { data } = usePayrollsGetSuspense(\n {\n companyId,\n payrollId: payrollId,\n include: ['taxes', 'benefits', 'deductions'],\n },\n { refetchInterval: isPolling ? 5_000 : false },\n )\n const payrollData = data.payrollShow!\n const submissionBlockers = findUnresolvedBlockersWithOptions(payrollData.submissionBlockers)\n const wireInId = findWireInRequestUuid(payrollData.creditBlockers)\n\n const { data: wireInRequestData } = useWireInRequestsGet(\n {\n wireInRequestUuid: wireInId || '',\n },\n { enabled: !!wireInId },\n )\n const wireInRequest = wireInRequestData?.wireInRequest\n\n const onEdit = () => {\n onEvent(componentEvents.RUN_PAYROLL_EDIT)\n }\n\n const handleWireEvent = (type: EventType, data?: unknown) => {\n if (type === payrollWireEvents.PAYROLL_WIRE_FORM_DONE) {\n setShowWireDetailsConfirmation(true)\n }\n onEvent(type, data)\n }\n\n const wireInConfirmationRequest = wireInId && (\n <ConfirmWireDetailsComponent\n companyId={companyId}\n wireInId={wireInId}\n onEvent={handleWireEvent}\n />\n )\n\n useEffect(() => {\n if (wireInRequest?.status === 'pending_review' && !showWireDetailsConfirmation) {\n setShowWireDetailsConfirmation(true)\n }\n }, [wireInRequest?.status, showWireDetailsConfirmation])\n\n useEffect(() => {\n if (showWireDetailsConfirmation) {\n const checkDate = dateFormatter.formatShortWithYear(payrollData.checkDate)\n\n setInternalAlerts([\n {\n type: 'success',\n title: t('alerts.wireDetailsSubmittedTitle'),\n content: <Text>{t('alerts.wireDetailsSubmittedMessage', { checkDate })}</Text>,\n onDismiss: () => {\n setShowWireDetailsConfirmation(false)\n },\n },\n ])\n }\n }, [showWireDetailsConfirmation, payrollData.checkDate, t, dateFormatter, Text])\n\n useEffect(() => {\n // Start polling when payroll is submitting and not already polling\n if (\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submitting &&\n !isPolling\n ) {\n setIsPolling(true)\n }\n // Stop polling and emit event when payroll is processed successfully\n if (\n isPolling &&\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submit_success\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSED)\n setInternalAlerts([\n {\n type: 'success',\n title: t('alerts.payrollProcessedTitle'),\n content: t('alerts.payrollProcessedMessage', {\n amount: formatCurrency(Number(payrollData.totals?.companyDebit)),\n date: dateFormatter.formatShortWithYear(\n payrollData.payrollStatusMeta?.expectedDebitTime ?? payrollData.payrollDeadline,\n ),\n }),\n },\n ])\n setShowWireDetailsConfirmation(false)\n setIsPolling(false)\n }\n // If we are polling and payroll is in failed state, stop polling, and emit failure event\n if (\n isPolling &&\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.processing_failed\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setInternalAlerts([\n {\n type: 'error',\n title: t('alerts.payrollProcessingFailedTitle'),\n content: (\n <Flex flexDirection=\"column\" gap={16}>\n <UnorderedList items={renderErrorList(payrollData.processingRequest.errors ?? [])} />\n <Button variant=\"secondary\" onClick={onEdit}>\n {t('alerts.payrollProcessingFailedCtaLabel')}\n </Button>\n </Flex>\n ),\n },\n ])\n setShowWireDetailsConfirmation(false)\n setIsPolling(false)\n }\n }, [\n payrollData.processingRequest?.status,\n isPolling,\n onEvent,\n t,\n dateFormatter,\n formatCurrency,\n payrollData.totals?.netPayDebit,\n payrollData.payrollStatusMeta?.expectedDebitTime,\n payrollData.payrollDeadline,\n ])\n\n const { data: bankAccountData } = useBankAccountsGetSuspense({\n companyId,\n })\n const bankAccount = bankAccountData.companyBankAccounts?.[0]\n\n const { data: employeeData } = useEmployeesListSuspense({\n companyId,\n })\n\n const { mutateAsync: submitPayroll, isPending } = usePayrollsSubmitMutation()\n\n const { mutateAsync: cancelPayroll } = usePayrollsCancelMutation()\n\n if (status === PayrollOverviewStatus.Viewing && !payrollData.calculatedAt) {\n throw new Error(t('alerts.payrollNotCalculated'))\n }\n const gustoEmbedded = useGustoEmbeddedContext()\n\n const taxes =\n payrollData.employeeCompensations?.reduce(\n (acc, compensation) => {\n compensation.taxes?.forEach(tax => {\n acc[tax.name] = {\n employee: (acc[tax.name]?.employee ?? 0) + (tax.employer ? 0 : tax.amount),\n employer: (acc[tax.name]?.employer ?? 0) + (tax.employer ? tax.amount : 0),\n }\n })\n\n return acc\n },\n {} as Record<string, { employee: number; employer: number }>,\n ) || {}\n\n const onCancel = async () => {\n setStatus(PayrollOverviewStatus.Cancelling)\n await baseSubmitHandler(data, async () => {\n try {\n const result = await cancelPayroll({\n request: {\n companyId,\n payrollId,\n },\n })\n setStatus(PayrollOverviewStatus.Cancelled)\n onEvent(componentEvents.RUN_PAYROLL_CANCELLED, result)\n } catch (error) {\n setStatus(PayrollOverviewStatus.Viewing)\n throw error\n }\n })\n }\n const onPayrollReceipt = () => {\n onEvent(componentEvents.RUN_PAYROLL_RECEIPT_GET, { payrollId })\n }\n\n const onPaystubDownload = async (employeeId: string) => {\n // Open a blank window *synchronously* with the click\n const newWindow = window.open('', '_blank')\n\n try {\n // Fetch the PDF from your API\n const response = await payrollsGetPayStub(gustoEmbedded, { payrollId, employeeId })\n if (!response.value?.responseStream) {\n throw new Error(t('alerts.paystubPdfError'))\n }\n const pdfBlob = await readableStreamToBlob(response.value.responseStream, 'application/pdf')\n\n const url = URL.createObjectURL(pdfBlob)\n\n // Load the PDF into the new window\n if (newWindow) {\n newWindow.location.href = url\n }\n onEvent(componentEvents.RUN_PAYROLL_PDF_PAYSTUB_VIEWED, { employeeId })\n URL.revokeObjectURL(url) // Clean up the URL object after use\n } catch (err) {\n if (newWindow) {\n newWindow.close()\n }\n showBoundary(err instanceof Error ? err : new Error(String(err)))\n }\n }\n const onSubmit = async () => {\n await baseSubmitHandler(data, async () => {\n const result = await submitPayroll({\n request: {\n companyId,\n payrollId,\n requestBody: {\n submissionBlockers: Object.entries(selectedUnblockOptions)\n .filter(([blockerType]) =>\n PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES.includes(blockerType),\n )\n .map(([blockerType, selectedOption]) => ({\n blockerType,\n selectedOption,\n })),\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_SUBMITTED, result)\n setIsPolling(true)\n })\n }\n\n return (\n <PayrollOverviewPresentation\n onEdit={onEdit}\n onSubmit={onSubmit}\n onCancel={onCancel}\n onPayrollReceipt={onPayrollReceipt}\n onPaystubDownload={onPaystubDownload}\n status={isPending || isPolling ? PayrollOverviewStatus.Submitting : status}\n isProcessed={\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submit_success\n }\n canCancel={canCancelPayroll(payrollData)}\n payrollData={payrollData}\n bankAccount={bankAccount}\n employeeDetails={employeeData.showEmployees || []}\n taxes={taxes}\n alerts={internalAlerts}\n submissionBlockers={submissionBlockers}\n selectedUnblockOptions={selectedUnblockOptions}\n onUnblockOptionChange={(blockerType, value) => {\n setSelectedUnblockOptions(prev => ({ ...prev, [blockerType]: value }))\n }}\n wireInConfirmationRequest={wireInConfirmationRequest}\n withReimbursements={withReimbursements}\n />\n )\n}\n"],"names":["findUnresolvedBlockersWithOptions","blockers","blocker","findWireInRequestUuid","creditBlockers","unresolvedCreditBlocker","option","PayrollOverview","props","jsx","BaseComponent","Root","companyId","payrollId","dictionary","onEvent","alerts","withReimbursements","ConfirmWireDetailsComponent","ConfirmWireDetails","useComponentDictionary","useI18n","baseSubmitHandler","useBase","t","useTranslation","isPolling","setIsPolling","useState","internalAlerts","setInternalAlerts","selectedUnblockOptions","setSelectedUnblockOptions","showWireDetailsConfirmation","setShowWireDetailsConfirmation","showBoundary","useErrorBoundary","formatCurrency","useNumberFormatter","dateFormatter","useDateFormatter","Button","UnorderedList","Text","useComponentContext","status","setStatus","PayrollOverviewStatus","data","usePayrollsGetSuspense","payrollData","submissionBlockers","wireInId","wireInRequestData","useWireInRequestsGet","wireInRequest","onEdit","componentEvents","wireInConfirmationRequest","type","payrollWireEvents","useEffect","checkDate","PAYROLL_PROCESSING_STATUS","jsxs","Flex","renderErrorList","bankAccountData","useBankAccountsGetSuspense","bankAccount","employeeData","useEmployeesListSuspense","submitPayroll","isPending","usePayrollsSubmitMutation","cancelPayroll","usePayrollsCancelMutation","gustoEmbedded","useGustoEmbeddedContext","taxes","acc","compensation","tax","PayrollOverviewPresentation","result","blockerType","PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES","selectedOption","error","employeeId","newWindow","response","payrollsGetPayStub","pdfBlob","readableStreamToBlob","url","err","canCancelPayroll","value","prev"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { PayrollShow } from '@gusto/embedded-api/models/components/payrollshow';
1
+ import { PayrollShow } from '@gusto/embedded-api/models/components/payroll';
2
2
  import { CompanyBankAccount } from '@gusto/embedded-api/models/components/companybankaccount';
3
3
  import { Employee } from '@gusto/embedded-api/models/components/employee';
4
- import { PayrollSubmissionBlockersType } from '@gusto/embedded-api/models/components/payrollsubmissionblockerstype';
4
+ import { PayrollSubmissionBlockerType } from '@gusto/embedded-api/models/components/payrollsubmissionblockertype';
5
5
  import { PayrollFlowAlert } from '../PayrollFlow/PayrollFlowComponents';
6
6
  import { PayrollOverviewStatus } from './PayrollOverviewTypes';
7
7
  interface PayrollOverviewProps {
@@ -16,7 +16,7 @@ interface PayrollOverviewProps {
16
16
  isProcessed: boolean;
17
17
  canCancel?: boolean;
18
18
  alerts?: PayrollFlowAlert[];
19
- submissionBlockers?: PayrollSubmissionBlockersType[];
19
+ submissionBlockers?: PayrollSubmissionBlockerType[];
20
20
  selectedUnblockOptions?: Record<string, string>;
21
21
  wireInConfirmationRequest?: React.ReactNode;
22
22
  onEdit: () => void;