@gusto/embedded-react-sdk 0.20.0 → 0.21.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 (390) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/UNSTABLE_Hooks.d.ts +1 -0
  3. package/dist/UNSTABLE_Hooks.js +9 -0
  4. package/dist/UNSTABLE_Hooks.js.map +1 -0
  5. package/dist/assets/icons/coins-hand.svg.js +10 -0
  6. package/dist/assets/icons/coins-hand.svg.js.map +1 -0
  7. package/dist/components/Base/Base.d.ts +19 -4
  8. package/dist/components/Base/Base.js +67 -61
  9. package/dist/components/Base/Base.js.map +1 -1
  10. package/dist/components/Base/useBase.d.ts +1 -1
  11. package/dist/components/Base/useBase.js.map +1 -1
  12. package/dist/components/Base/useBaseSubmit.d.ts +10 -0
  13. package/dist/components/Base/useBaseSubmit.js +33 -0
  14. package/dist/components/Base/useBaseSubmit.js.map +1 -0
  15. package/dist/components/Common/Fields/TextAreaField/TextAreaField.d.ts +5 -0
  16. package/dist/components/Common/Fields/TextAreaField/TextAreaField.js +34 -0
  17. package/dist/components/Common/Fields/TextAreaField/TextAreaField.js.map +1 -0
  18. package/dist/components/Common/Fields/TextAreaField/index.d.ts +3 -0
  19. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js +10 -10
  20. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -1
  21. package/dist/components/Common/SignatureForm/SignatureForm.js +14 -11
  22. package/dist/components/Common/SignatureForm/SignatureForm.js.map +1 -1
  23. package/dist/components/Common/SignatureForm/SignatureFormActions.js +9 -7
  24. package/dist/components/Common/SignatureForm/SignatureFormActions.js.map +1 -1
  25. package/dist/components/Common/SignatureForm/SignatureFormFields.js +15 -12
  26. package/dist/components/Common/SignatureForm/SignatureFormFields.js.map +1 -1
  27. package/dist/components/Common/UI/Alert/Alert.js +23 -22
  28. package/dist/components/Common/UI/Alert/Alert.js.map +1 -1
  29. package/dist/components/Common/UI/Alert/AlertTypes.d.ts +4 -0
  30. package/dist/components/Common/UI/Alert/AlertTypes.js.map +1 -1
  31. package/dist/components/Common/UI/DatePicker/DatePicker.d.ts +1 -1
  32. package/dist/components/Common/UI/DatePicker/DatePicker.js +38 -37
  33. package/dist/components/Common/UI/DatePicker/DatePicker.js.map +1 -1
  34. package/dist/components/Common/UI/DatePicker/DatePickerTypes.d.ts +4 -0
  35. package/dist/components/Common/UI/Modal/Modal.module.scss.js +17 -17
  36. package/dist/components/Common/UI/Select/Select.d.ts +1 -1
  37. package/dist/components/Common/UI/Select/Select.js +27 -26
  38. package/dist/components/Common/UI/Select/Select.js.map +1 -1
  39. package/dist/components/Common/UI/Select/SelectTypes.d.ts +4 -0
  40. package/dist/components/Common/UI/TextArea/TextArea.d.ts +2 -0
  41. package/dist/components/Common/UI/TextArea/TextArea.js +79 -0
  42. package/dist/components/Common/UI/TextArea/TextArea.js.map +1 -0
  43. package/dist/components/Common/UI/TextArea/TextArea.module.scss.js +12 -0
  44. package/dist/components/Common/UI/TextArea/TextArea.module.scss.js.map +1 -0
  45. package/dist/components/Common/UI/TextArea/TextAreaTypes.d.ts +37 -0
  46. package/dist/components/Common/UI/TextArea/TextAreaTypes.js +9 -0
  47. package/dist/components/Common/UI/TextArea/TextAreaTypes.js.map +1 -0
  48. package/dist/components/Common/UI/TextArea/index.d.ts +4 -0
  49. package/dist/components/Company/AssignSignatory/AssignSignatory.js +8 -6
  50. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  51. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +5 -2
  52. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  53. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +4 -2
  54. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  55. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +9 -7
  56. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  57. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +12 -12
  58. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
  59. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  60. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +4 -2
  61. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  62. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +12 -10
  63. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  64. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +6 -6
  65. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
  66. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  67. package/dist/components/Company/AssignSignatory/TitleSelect.js +6 -4
  68. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  69. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
  70. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  71. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +10 -9
  72. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  73. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +11 -8
  74. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  75. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
  76. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  77. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +10 -8
  78. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  79. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +10 -8
  80. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  81. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +7 -4
  82. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  83. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +4 -2
  84. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  85. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +11 -9
  86. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  87. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
  88. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  89. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +10 -8
  90. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  91. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +5 -4
  92. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  93. package/dist/components/Company/FederalTaxes/Actions.js +9 -7
  94. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  95. package/dist/components/Company/FederalTaxes/FederalTaxes.js +5 -3
  96. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  97. package/dist/components/Company/FederalTaxes/Form.js +7 -6
  98. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  99. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +7 -6
  100. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  101. package/dist/components/Company/Industry/Actions.js +9 -7
  102. package/dist/components/Company/Industry/Actions.js.map +1 -1
  103. package/dist/components/Company/Industry/Context.js +8 -7
  104. package/dist/components/Company/Industry/Context.js.map +1 -1
  105. package/dist/components/Company/Industry/Edit.js +7 -4
  106. package/dist/components/Company/Industry/Edit.js.map +1 -1
  107. package/dist/components/Company/Locations/LocationForm/Actions.js +10 -8
  108. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  109. package/dist/components/Company/Locations/LocationForm/Form.js +7 -6
  110. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  111. package/dist/components/Company/Locations/LocationForm/LocationForm.js +12 -10
  112. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  113. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
  114. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  115. package/dist/components/Company/Locations/LocationsList/Actions.js +8 -6
  116. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  117. package/dist/components/Company/Locations/LocationsList/List.js +16 -15
  118. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  119. package/dist/components/Company/Locations/LocationsList/LocationsList.js +4 -3
  120. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  121. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
  122. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  123. package/dist/components/Company/OnboardingOverview/Completed.js +12 -10
  124. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  125. package/dist/components/Company/OnboardingOverview/MissingRequirements.js +11 -9
  126. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  127. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +9 -7
  128. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  129. package/dist/components/Company/OnboardingOverview/context.js +5 -4
  130. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  131. package/dist/components/Company/PaySchedule/PaySchedule.js +5 -4
  132. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  133. package/dist/components/Company/PaySchedule/_parts/Actions.js +11 -9
  134. package/dist/components/Company/PaySchedule/_parts/Actions.js.map +1 -1
  135. package/dist/components/Company/PaySchedule/_parts/Edit.js +23 -24
  136. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
  137. package/dist/components/Company/PaySchedule/_parts/Head.js +13 -11
  138. package/dist/components/Company/PaySchedule/_parts/Head.js.map +1 -1
  139. package/dist/components/Company/PaySchedule/_parts/List.js +18 -17
  140. package/dist/components/Company/PaySchedule/_parts/List.js.map +1 -1
  141. package/dist/components/Company/PaySchedule/usePaySchedule.js +7 -6
  142. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  143. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +4 -2
  144. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  145. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -4
  146. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  147. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +4 -2
  148. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  149. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +4 -2
  150. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  151. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
  152. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  153. package/dist/components/Contractor/Address/Address.js +7 -5
  154. package/dist/components/Contractor/Address/Address.js.map +1 -1
  155. package/dist/components/Contractor/Address/Form.js +8 -7
  156. package/dist/components/Contractor/Address/Form.js.map +1 -1
  157. package/dist/components/Contractor/Address/useAddress.js +7 -6
  158. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  159. package/dist/components/Contractor/ContractorList/index.js +15 -15
  160. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +13 -10
  161. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
  162. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +5 -3
  163. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +1 -1
  164. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +15 -0
  165. package/dist/components/Contractor/Payments/Detail/DetailPresentation.d.ts +19 -0
  166. package/dist/components/Contractor/Payments/Overview/OverviewPresentation.d.ts +18 -0
  167. package/dist/components/Contractor/Payments/PaymentEdit/PaymentEditPresentation.d.ts +6 -0
  168. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +18 -0
  169. package/dist/components/Contractor/Payments/types.d.ts +4 -0
  170. package/dist/components/Contractor/Profile/ContractorProfileForm.js +13 -13
  171. package/dist/components/Contractor/Profile/useContractorProfile.js +1 -1
  172. package/dist/components/Contractor/Submit/Submit.js +21 -20
  173. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  174. package/dist/components/Employee/Compensation/Actions.js +14 -13
  175. package/dist/components/Employee/Compensation/Actions.js.map +1 -1
  176. package/dist/components/Employee/Compensation/Edit.js +14 -14
  177. package/dist/components/Employee/Compensation/List.js +23 -22
  178. package/dist/components/Employee/Compensation/List.js.map +1 -1
  179. package/dist/components/Employee/Deductions/Deductions.d.ts +1 -1
  180. package/dist/components/Employee/Deductions/Deductions.js +10 -10
  181. package/dist/components/Employee/Deductions/Deductions.js.map +1 -1
  182. package/dist/components/Employee/Deductions/DeductionsComponents.d.ts +2 -0
  183. package/dist/components/Employee/Deductions/DeductionsComponents.js +6 -6
  184. package/dist/components/Employee/Deductions/DeductionsComponents.js.map +1 -1
  185. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +222 -0
  186. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -0
  187. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.module.scss.js +8 -0
  188. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.module.scss.js.map +1 -0
  189. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.d.ts +2 -2
  190. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +165 -0
  191. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -0
  192. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.d.ts +0 -34
  193. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +90 -127
  194. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js.map +1 -1
  195. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.module.scss.js +14 -0
  196. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.module.scss.js.map +1 -0
  197. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +55 -55
  198. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js.map +1 -1
  199. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.d.ts +6 -0
  200. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js +53 -0
  201. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js.map +1 -0
  202. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.module.scss.js +14 -0
  203. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.module.scss.js.map +1 -0
  204. package/dist/components/Employee/Deductions/stateMachine.js +49 -29
  205. package/dist/components/Employee/Deductions/stateMachine.js.map +1 -1
  206. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js +8 -6
  207. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js.map +1 -1
  208. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +5 -3
  209. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  210. package/dist/components/Employee/DocumentSigner/DocumentList/List.js +5 -2
  211. package/dist/components/Employee/DocumentSigner/DocumentList/List.js.map +1 -1
  212. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +5 -4
  213. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  214. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +5 -3
  215. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  216. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +5 -4
  217. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  218. package/dist/components/Employee/EmployeeList/Actions.js +8 -6
  219. package/dist/components/Employee/EmployeeList/Actions.js.map +1 -1
  220. package/dist/components/Employee/EmployeeList/EmployeeList.js +6 -3
  221. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  222. package/dist/components/Employee/EmployeeList/Head.js +7 -5
  223. package/dist/components/Employee/EmployeeList/Head.js.map +1 -1
  224. package/dist/components/Employee/EmployeeList/List.js +14 -14
  225. package/dist/components/Employee/EmployeeList/useEmployeeList.js +5 -4
  226. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  227. package/dist/components/Employee/FederalTaxes/Actions.js +9 -7
  228. package/dist/components/Employee/FederalTaxes/Actions.js.map +1 -1
  229. package/dist/components/Employee/FederalTaxes/FederalForm.js +13 -11
  230. package/dist/components/Employee/FederalTaxes/FederalForm.js.map +1 -1
  231. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +5 -4
  232. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  233. package/dist/components/Employee/Landing/Landing.js +11 -10
  234. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  235. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +7 -7
  236. package/dist/components/Employee/PaymentMethod/Actions.js +8 -6
  237. package/dist/components/Employee/PaymentMethod/Actions.js.map +1 -1
  238. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +6 -4
  239. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js.map +1 -1
  240. package/dist/components/Employee/PaymentMethod/BankAccountsList.js +12 -11
  241. package/dist/components/Employee/PaymentMethod/BankAccountsList.js.map +1 -1
  242. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +8 -6
  243. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js.map +1 -1
  244. package/dist/components/Employee/PaymentMethod/Split.js +8 -8
  245. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +7 -6
  246. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  247. package/dist/components/Employee/Profile/Actions.js +9 -7
  248. package/dist/components/Employee/Profile/Actions.js.map +1 -1
  249. package/dist/components/Employee/Profile/AdminPersonalDetails.js +10 -8
  250. package/dist/components/Employee/Profile/AdminPersonalDetails.js.map +1 -1
  251. package/dist/components/Employee/Profile/HomeAddress.js +2 -2
  252. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +26 -24
  253. package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
  254. package/dist/components/Employee/Profile/useProfile.js +5 -4
  255. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  256. package/dist/components/Employee/StateTaxes/Actions.js +10 -8
  257. package/dist/components/Employee/StateTaxes/Actions.js.map +1 -1
  258. package/dist/components/Employee/StateTaxes/useStateTaxes.js +5 -4
  259. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  260. package/dist/components/Employee/Taxes/Actions.js +10 -8
  261. package/dist/components/Employee/Taxes/Actions.js.map +1 -1
  262. package/dist/components/Employee/Taxes/FederalForm.js +14 -12
  263. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  264. package/dist/components/Employee/Taxes/useTaxes.js +5 -4
  265. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  266. package/dist/components/Flow/Flow.js +23 -21
  267. package/dist/components/Flow/Flow.js.map +1 -1
  268. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +1 -1
  269. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +58 -36
  270. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  271. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.d.ts +2 -0
  272. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +71 -54
  273. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  274. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.d.ts +23 -0
  275. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.js +27 -15
  276. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.js.map +1 -1
  277. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.d.ts +25 -2
  278. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +153 -23
  279. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  280. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.module.scss.js +10 -0
  281. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.module.scss.js.map +1 -0
  282. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +9 -1
  283. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +195 -22
  284. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  285. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.module.scss.js +18 -0
  286. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.module.scss.js.map +1 -0
  287. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.d.ts +10 -2
  288. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +39 -25
  289. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  290. package/dist/components/Payroll/ConfirmWireDetails/index.d.ts +1 -0
  291. package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +5 -0
  292. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +8 -6
  293. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  294. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +8 -6
  295. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
  296. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +27 -28
  297. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  298. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +56 -57
  299. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  300. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +9 -8
  301. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  302. package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +0 -12
  303. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +44 -52
  304. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  305. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +9 -6
  306. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +96 -93
  307. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  308. package/dist/components/Payroll/PayrollList/PayrollList.js +58 -59
  309. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  310. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +4 -6
  311. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +81 -72
  312. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  313. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +8 -8
  314. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.js +4 -2
  315. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.js.map +1 -1
  316. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +3 -2
  317. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  318. package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.d.ts +7 -0
  319. package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.js +19 -0
  320. package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.js.map +1 -0
  321. package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.module.scss.js +10 -0
  322. package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.module.scss.js.map +1 -0
  323. package/dist/components/Payroll/PayrollStatusBadges/index.d.ts +4 -0
  324. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.d.ts +33 -0
  325. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js +161 -0
  326. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -0
  327. package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.d.ts +3 -0
  328. package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.js +17 -0
  329. package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.js.map +1 -0
  330. package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.test.d.ts +1 -0
  331. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfiguration.d.ts +6 -0
  332. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfiguration.js +70 -0
  333. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfiguration.js.map +1 -0
  334. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.d.ts +7 -0
  335. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.js +6 -0
  336. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.js.map +1 -0
  337. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationProvider.d.ts +9 -0
  338. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationProvider.js +40 -0
  339. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationProvider.js.map +1 -0
  340. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/index.d.ts +5 -0
  341. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/usePayrollConfiguration.d.ts +2 -0
  342. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/usePayrollConfiguration.js +12 -0
  343. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/usePayrollConfiguration.js.map +1 -0
  344. package/dist/components/Payroll/UNSTABLE_PayrollHooks/index.d.ts +2 -0
  345. package/dist/components/Payroll/helpers.d.ts +0 -5
  346. package/dist/components/Payroll/helpers.js +106 -112
  347. package/dist/components/Payroll/helpers.js.map +1 -1
  348. package/dist/components/Payroll/usePreparedPayrollData.js +8 -7
  349. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  350. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +48 -46
  351. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  352. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  353. package/dist/contexts/ComponentAdapter/useComponentContext.js +3 -3
  354. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  355. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +8 -5
  356. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  357. package/dist/helpers/dateFormatting.d.ts +9 -0
  358. package/dist/helpers/dateFormatting.js +65 -52
  359. package/dist/helpers/dateFormatting.js.map +1 -1
  360. package/dist/helpers/formattedStrings.js +12 -11
  361. package/dist/helpers/formattedStrings.js.map +1 -1
  362. package/dist/i18n/I18n.js +10 -10
  363. package/dist/i18n/I18n.js.map +1 -1
  364. package/dist/i18n/en/ContractorPayment.ContractorPaymentCreatePayment.json.js +32 -0
  365. package/dist/i18n/en/ContractorPayment.ContractorPaymentCreatePayment.json.js.map +1 -0
  366. package/dist/i18n/en/ContractorPayment.ContractorPaymentDetail.json.js +24 -0
  367. package/dist/i18n/en/ContractorPayment.ContractorPaymentDetail.json.js.map +1 -0
  368. package/dist/i18n/en/ContractorPayment.ContractorPaymentOverview.json.js +32 -0
  369. package/dist/i18n/en/ContractorPayment.ContractorPaymentOverview.json.js.map +1 -0
  370. package/dist/i18n/en/ContractorPayment.ContractorPaymentPaymentHistory.json.js +32 -0
  371. package/dist/i18n/en/ContractorPayment.ContractorPaymentPaymentHistory.json.js.map +1 -0
  372. package/dist/i18n/en/Payroll.Common.json.js +8 -0
  373. package/dist/i18n/en/Payroll.Common.json.js.map +1 -0
  374. package/dist/i18n/en/Payroll.ConfirmWireDetailsForm.json.js +25 -5
  375. package/dist/i18n/en/Payroll.ConfirmWireDetailsForm.json.js.map +1 -1
  376. package/dist/i18n/en/Payroll.PayrollList.json.js +14 -16
  377. package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -1
  378. package/dist/i18n/en/Payroll.WireInstructions.json.js +22 -6
  379. package/dist/i18n/en/Payroll.WireInstructions.json.js.map +1 -1
  380. package/dist/shared/constants.d.ts +6 -0
  381. package/dist/shared/constants.js +15 -12
  382. package/dist/shared/constants.js.map +1 -1
  383. package/dist/style.css +1 -1
  384. package/dist/types/i18next.d.ts +183 -8
  385. package/package.json +11 -7
  386. package/dist/components/Employee/Deductions/DeductionsForm/UNSTABLE_DeductionsForm.d.ts +0 -7
  387. package/dist/components/Employee/Deductions/EmptyState/EmptyState.d.ts +0 -6
  388. package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.d.ts +0 -15
  389. package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js +0 -49
  390. package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollHistory.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistory.tsx"],"sourcesContent":["import { useState, useMemo } from 'react'\nimport { usePayrollsListSuspense } from '@gusto/embedded-api/react-query/payrollsList'\nimport { usePayrollsCancelMutation } from '@gusto/embedded-api/react-query/payrollsCancel'\nimport { ProcessingStatuses } from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport { getPayrollType, getPayrollStatus, calculateTotalPayroll } from '../helpers'\nimport type { PayrollType } from '../PayrollList/types'\nimport { PayrollHistoryPresentation } from './PayrollHistoryPresentation'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\n\nexport type PayrollHistoryStatus =\n | 'Unprocessed'\n | 'Submitted'\n | 'Pending'\n | 'Paid'\n | 'Complete'\n | 'In progress'\n\nexport type TimeFilterOption = '3months' | '6months' | 'year'\n\nexport interface PayrollHistoryItem {\n id: string\n payPeriod: string\n type: PayrollType\n payDate: string\n status: PayrollHistoryStatus\n amount?: number\n payroll: Payroll\n}\n\nexport interface PayrollHistoryProps extends BaseComponentInterface<'Payroll.PayrollHistory'> {\n companyId: string\n}\n\nexport function PayrollHistory(props: PayrollHistoryProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst getDateRangeForFilter = (\n filter: TimeFilterOption,\n): { startDate: string; endDate: string } => {\n const now = new Date()\n const startDate = new Date()\n\n switch (filter) {\n case '3months':\n startDate.setMonth(now.getMonth() - 3)\n break\n case '6months':\n startDate.setMonth(now.getMonth() - 6)\n break\n case 'year':\n startDate.setFullYear(now.getFullYear() - 1)\n break\n }\n\n return {\n startDate: startDate.toISOString().split('T')[0] || '',\n endDate: now.toISOString().split('T')[0] || '',\n }\n}\n\nconst mapPayrollToHistoryItem = (\n payroll: Payroll,\n dateFormatter: ReturnType<typeof useDateFormatter>,\n): PayrollHistoryItem => {\n return {\n id: payroll.payrollUuid || payroll.uuid!,\n payPeriod: dateFormatter.formatPayPeriodRange(\n payroll.payPeriod?.startDate,\n payroll.payPeriod?.endDate,\n ),\n type: getPayrollType(payroll),\n payDate: dateFormatter.formatShortWithYear(payroll.checkDate),\n status: getPayrollStatus(payroll),\n amount: calculateTotalPayroll(payroll),\n payroll,\n }\n}\n\nexport const Root = ({ onEvent, companyId, dictionary }: PayrollHistoryProps) => {\n useComponentDictionary('Payroll.PayrollHistory', dictionary)\n useI18n('Payroll.PayrollHistory')\n\n const [selectedTimeFilter, setSelectedTimeFilter] = useState<TimeFilterOption>('3months')\n const [cancelDialogItem, setCancelDialogItem] = useState<PayrollHistoryItem | null>(null)\n const dateFormatter = useDateFormatter()\n const { baseSubmitHandler } = useBase()\n\n const dateRange = useMemo(() => getDateRangeForFilter(selectedTimeFilter), [selectedTimeFilter])\n\n const { data: payrollsData } = usePayrollsListSuspense({\n companyId,\n processingStatuses: [ProcessingStatuses.Processed],\n startDate: dateRange.startDate,\n endDate: dateRange.endDate,\n include: ['totals'],\n })\n\n const { mutateAsync: cancelPayroll, isPending: isCancelling } = usePayrollsCancelMutation()\n\n const payrollHistory =\n payrollsData.payrollList?.map(payroll => mapPayrollToHistoryItem(payroll, dateFormatter)) || []\n\n const handleViewSummary = (payrollId: string) => {\n onEvent(componentEvents.RUN_PAYROLL_SUMMARY_VIEWED, { payrollId })\n }\n\n const handleViewReceipt = (payrollId: string) => {\n onEvent(componentEvents.RUN_PAYROLL_RECEIPT_VIEWED, { payrollId })\n }\n\n const handleCancelPayroll = async (payrollId: string) => {\n try {\n await baseSubmitHandler(payrollId, async id => {\n const result = await cancelPayroll({\n request: {\n companyId,\n payrollId: id,\n },\n })\n\n onEvent(componentEvents.RUN_PAYROLL_CANCELLED, { payrollId: id, result })\n })\n } finally {\n setCancelDialogItem(null)\n }\n }\n\n return (\n <PayrollHistoryPresentation\n payrollHistory={payrollHistory}\n selectedTimeFilter={selectedTimeFilter}\n onTimeFilterChange={setSelectedTimeFilter}\n onViewSummary={handleViewSummary}\n onViewReceipt={handleViewReceipt}\n onCancelPayroll={handleCancelPayroll}\n cancelDialogItem={cancelDialogItem}\n onCancelDialogOpen={setCancelDialogItem}\n onCancelDialogClose={() => {\n setCancelDialogItem(null)\n }}\n isLoading={isCancelling}\n />\n )\n}\n"],"names":["PayrollHistory","props","jsx","BaseComponent","Root","getDateRangeForFilter","filter","now","startDate","mapPayrollToHistoryItem","payroll","dateFormatter","getPayrollType","getPayrollStatus","calculateTotalPayroll","onEvent","companyId","dictionary","useComponentDictionary","useI18n","selectedTimeFilter","setSelectedTimeFilter","useState","cancelDialogItem","setCancelDialogItem","useDateFormatter","baseSubmitHandler","useBase","dateRange","useMemo","payrollsData","usePayrollsListSuspense","ProcessingStatuses","cancelPayroll","isCancelling","usePayrollsCancelMutation","payrollHistory","PayrollHistoryPresentation","payrollId","componentEvents","id","result"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollHistory.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistory.tsx"],"sourcesContent":["import { useState, useMemo } from 'react'\nimport { usePayrollsListSuspense } from '@gusto/embedded-api/react-query/payrollsList'\nimport { usePayrollsCancelMutation } from '@gusto/embedded-api/react-query/payrollsCancel'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api/react-query/wireInRequestsList'\nimport { ProcessingStatuses } from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport { PayrollHistoryPresentation } from './PayrollHistoryPresentation'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary, useI18n } from '@/i18n'\n\nexport type TimeFilterOption = '3months' | '6months' | 'year'\n\nexport interface PayrollHistoryProps extends BaseComponentInterface<'Payroll.PayrollHistory'> {\n companyId: string\n}\n\nexport function PayrollHistory(props: PayrollHistoryProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst getDateRangeForFilter = (\n filter: TimeFilterOption,\n): { startDate: string; endDate: string } => {\n const now = new Date()\n const startDate = new Date()\n\n switch (filter) {\n case '3months':\n startDate.setMonth(now.getMonth() - 3)\n break\n case '6months':\n startDate.setMonth(now.getMonth() - 6)\n break\n case 'year':\n startDate.setFullYear(now.getFullYear() - 1)\n break\n }\n\n return {\n startDate: startDate.toISOString().split('T')[0] || '',\n endDate: now.toISOString().split('T')[0] || '',\n }\n}\n\nexport const Root = ({ onEvent, companyId, dictionary }: PayrollHistoryProps) => {\n useComponentDictionary('Payroll.PayrollHistory', dictionary)\n useI18n('Payroll.PayrollHistory')\n\n const [selectedTimeFilter, setSelectedTimeFilter] = useState<TimeFilterOption>('3months')\n const [cancelDialogItem, setCancelDialogItem] = useState<Payroll | null>(null)\n const { baseSubmitHandler } = useBase()\n\n const dateRange = useMemo(() => getDateRangeForFilter(selectedTimeFilter), [selectedTimeFilter])\n\n const { data: payrollsData } = usePayrollsListSuspense({\n companyId,\n processingStatuses: [ProcessingStatuses.Processed],\n startDate: dateRange.startDate,\n endDate: dateRange.endDate,\n include: ['totals'],\n })\n\n const { data: wireInRequestsData } = useWireInRequestsListSuspense({\n companyUuid: companyId,\n })\n\n const wireInRequests = wireInRequestsData.wireInRequestList ?? []\n\n const { mutateAsync: cancelPayroll, isPending: isCancelling } = usePayrollsCancelMutation()\n\n const payrollHistory = payrollsData.payrollList || []\n\n const handleViewSummary = (payrollId: string) => {\n onEvent(componentEvents.RUN_PAYROLL_SUMMARY_VIEWED, { payrollId })\n }\n\n const handleViewReceipt = (payrollId: string) => {\n onEvent(componentEvents.RUN_PAYROLL_RECEIPT_VIEWED, { payrollId })\n }\n\n const handleCancelPayroll = async (item: Payroll) => {\n const payrollId = item.payrollUuid || item.uuid!\n try {\n await baseSubmitHandler(payrollId, async id => {\n const result = await cancelPayroll({\n request: {\n companyId,\n payrollId: id,\n },\n })\n\n onEvent(componentEvents.RUN_PAYROLL_CANCELLED, { payrollId: id, result })\n })\n } finally {\n setCancelDialogItem(null)\n }\n }\n\n return (\n <PayrollHistoryPresentation\n payrollHistory={payrollHistory}\n wireInRequests={wireInRequests}\n selectedTimeFilter={selectedTimeFilter}\n onTimeFilterChange={setSelectedTimeFilter}\n onViewSummary={handleViewSummary}\n onViewReceipt={handleViewReceipt}\n onCancelPayroll={handleCancelPayroll}\n cancelDialogItem={cancelDialogItem}\n onCancelDialogOpen={setCancelDialogItem}\n onCancelDialogClose={() => {\n setCancelDialogItem(null)\n }}\n isLoading={isCancelling}\n />\n )\n}\n"],"names":["PayrollHistory","props","jsx","BaseComponent","Root","getDateRangeForFilter","filter","now","startDate","onEvent","companyId","dictionary","useComponentDictionary","useI18n","selectedTimeFilter","setSelectedTimeFilter","useState","cancelDialogItem","setCancelDialogItem","baseSubmitHandler","useBase","dateRange","useMemo","payrollsData","usePayrollsListSuspense","ProcessingStatuses","wireInRequestsData","useWireInRequestsListSuspense","wireInRequests","cancelPayroll","isCancelling","usePayrollsCancelMutation","payrollHistory","PayrollHistoryPresentation","payrollId","componentEvents","item","id","result"],"mappings":"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"}
@@ -1,15 +1,18 @@
1
- import { PayrollHistoryItem, TimeFilterOption } from './PayrollHistory';
1
+ import { Payroll } from '@gusto/embedded-api/models/components/payroll';
2
+ import { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest';
3
+ import { TimeFilterOption } from './PayrollHistory';
2
4
  interface PayrollHistoryPresentationProps {
3
- payrollHistory: PayrollHistoryItem[];
5
+ payrollHistory: Payroll[];
6
+ wireInRequests: WireInRequest[];
4
7
  selectedTimeFilter: TimeFilterOption;
5
8
  onTimeFilterChange: (value: TimeFilterOption) => void;
6
9
  onViewSummary: (payrollId: string) => void;
7
10
  onViewReceipt: (payrollId: string) => void;
8
- onCancelPayroll: (payrollId: string) => void;
9
- cancelDialogItem: PayrollHistoryItem | null;
10
- onCancelDialogOpen: (item: PayrollHistoryItem) => void;
11
+ onCancelPayroll: (item: Payroll) => void;
12
+ cancelDialogItem: Payroll | null;
13
+ onCancelDialogOpen: (item: Payroll) => void;
11
14
  onCancelDialogClose: () => void;
12
15
  isLoading?: boolean;
13
16
  }
14
- export declare const PayrollHistoryPresentation: ({ payrollHistory, selectedTimeFilter, onTimeFilterChange, onViewSummary, onViewReceipt, onCancelPayroll, cancelDialogItem, onCancelDialogOpen, onCancelDialogClose, isLoading, }: PayrollHistoryPresentationProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const PayrollHistoryPresentation: ({ payrollHistory, wireInRequests, selectedTimeFilter, onTimeFilterChange, onViewSummary, onViewReceipt, onCancelPayroll, cancelDialogItem, onCancelDialogOpen, onCancelDialogClose, isLoading, }: PayrollHistoryPresentationProps) => import("react/jsx-runtime").JSX.Element;
15
18
  export {};
@@ -1,117 +1,107 @@
1
- import { jsxs as u, jsx as n } from "react/jsx-runtime";
2
- import { useTranslation as j } from "react-i18next";
3
- import I from "./PayrollHistoryPresentation.module.scss.js";
1
+ import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
+ import { useTranslation as O } from "react-i18next";
3
+ import { getPayrollType as j, calculateTotalPayroll as V } from "../helpers.js";
4
+ import Y from "./PayrollHistoryPresentation.module.scss.js";
4
5
  import { Flex as c } from "../../Common/Flex/Flex.js";
5
6
  import "classnames";
6
- import { useComponentContext as R } from "../../../contexts/ComponentAdapter/useComponentContext.js";
7
- import { formatNumberAsCurrency as Y } from "../../../helpers/formattedStrings.js";
8
- import { useI18n as Z } from "../../../i18n/I18n.js";
9
- import S from "../../../assets/icons/list.svg.js";
10
- import $ from "../../../assets/icons/trashcan.svg.js";
7
+ import "../../../shared/constants.js";
11
8
  import { HamburgerMenu as q } from "../../Common/HamburgerMenu/HamburgerMenu.js";
12
- import { DataView as B } from "../../Common/DataView/DataView.js";
13
- const _ = (m) => {
14
- switch (m) {
15
- case "Complete":
16
- case "Paid":
17
- return "success";
18
- case "In progress":
19
- case "Unprocessed":
20
- return "warning";
21
- case "Submitted":
22
- case "Pending":
23
- return "info";
24
- default:
25
- return "info";
26
- }
27
- }, ae = ({
28
- payrollHistory: m,
29
- selectedTimeFilter: b,
30
- onTimeFilterChange: w,
31
- onViewSummary: P,
9
+ import { useComponentContext as I } from "../../../contexts/ComponentAdapter/useComponentContext.js";
10
+ import { formatNumberAsCurrency as Z } from "../../../helpers/formattedStrings.js";
11
+ import { useI18n as $ } from "../../../i18n/I18n.js";
12
+ import { useDateFormatter as B } from "../../../hooks/useDateFormatter.js";
13
+ import g from "../../../assets/icons/list.svg.js";
14
+ import W from "../../../assets/icons/trashcan.svg.js";
15
+ import { PayrollStatusBadges as _ } from "../PayrollStatusBadges/PayrollStatusBadges.js";
16
+ import { DataView as z } from "../../Common/DataView/DataView.js";
17
+ const me = ({
18
+ payrollHistory: y,
19
+ wireInRequests: P,
20
+ selectedTimeFilter: w,
21
+ onTimeFilterChange: S,
22
+ onViewSummary: b,
32
23
  onViewReceipt: C,
33
- onCancelPayroll: v,
24
+ onCancelPayroll: T,
34
25
  cancelDialogItem: a,
35
- onCancelDialogOpen: T,
36
- onCancelDialogClose: F,
26
+ onCancelDialogOpen: F,
27
+ onCancelDialogClose: v,
37
28
  isLoading: x = !1
38
29
  }) => {
39
- const { Heading: f, Text: o, Badge: A, Select: k, Dialog: H } = R();
40
- Z("Payroll.PayrollHistory");
41
- const { t } = j("Payroll.PayrollHistory"), V = [
30
+ const { Heading: f, Text: l, Select: k, Dialog: A } = I();
31
+ $("Payroll.PayrollHistory");
32
+ const { t } = O("Payroll.PayrollHistory"), u = B(), H = [
42
33
  { value: "3months", label: t("timeFilter.options.3months") },
43
34
  { value: "6months", label: t("timeFilter.options.6months") },
44
35
  { value: "year", label: t("timeFilter.options.year") }
45
36
  ], L = (e) => {
46
- const { status: r, payroll: i } = e;
47
- if (!(r === "Unprocessed" || r === "Submitted" || r === "Pending" || r === "In progress") || i.payrollStatusMeta?.cancellable === !1)
37
+ if (e.payrollStatusMeta?.cancellable === !1)
48
38
  return !1;
49
- if (i.processed && i.payrollDeadline) {
50
- const s = /* @__PURE__ */ new Date(), d = new Date(i.payrollDeadline), p = h(s), y = new Date(s.getTime() + p * 60 * 60 * 1e3), D = new Date(
51
- d.getTime() + h(d) * 60 * 60 * 1e3
39
+ if (e.processed && e.payrollDeadline) {
40
+ const o = /* @__PURE__ */ new Date(), n = new Date(e.payrollDeadline), i = h(o), s = new Date(o.getTime() + i * 60 * 60 * 1e3), m = new Date(
41
+ n.getTime() + h(n) * 60 * 60 * 1e3
52
42
  );
53
- if (y.toDateString() === D.toDateString()) {
54
- const g = new Date(D);
55
- if (g.setHours(15, 30, 0, 0), y > g)
43
+ if (s.toDateString() === m.toDateString()) {
44
+ const p = new Date(m);
45
+ if (p.setHours(15, 30, 0, 0), s > p)
56
46
  return !1;
57
47
  }
58
48
  }
59
49
  return !0;
60
50
  }, h = (e) => {
61
- const r = e.getFullYear(), i = new Date(r, 2, 1);
62
- i.setDate(1 + (7 - i.getDay()) + 7);
63
- const l = new Date(r, 10, 1);
64
- return l.setDate(1 + (7 - l.getDay()) % 7), e >= i && e < l ? -7 : -8;
51
+ const o = e.getFullYear(), n = new Date(o, 2, 1);
52
+ n.setDate(1 + (7 - n.getDay()) + 7);
53
+ const i = new Date(o, 10, 1);
54
+ return i.setDate(1 + (7 - i.getDay()) % 7), e >= n && e < i ? -7 : -8;
65
55
  }, M = (e) => {
66
- const r = e.payroll.payrollDeadline;
67
- if (!r) return "";
68
- const i = new Date(r), l = "America/New_York", s = new Intl.DateTimeFormat("en-US", {
56
+ const o = e.payrollDeadline;
57
+ if (!o) return "";
58
+ const n = new Date(o), i = "America/New_York", s = new Intl.DateTimeFormat("en-US", {
69
59
  weekday: "short",
70
60
  month: "short",
71
61
  day: "numeric",
72
- timeZone: l
73
- }), d = new Intl.DateTimeFormat("en-US", {
62
+ timeZone: i
63
+ }), m = new Intl.DateTimeFormat("en-US", {
74
64
  hour: "numeric",
75
65
  minute: "2-digit",
76
66
  timeZoneName: "short",
77
- timeZone: l
78
- }), p = s.format(i);
79
- return `${d.format(i)} on ${p}`;
67
+ timeZone: i
68
+ }), D = s.format(n);
69
+ return `${m.format(n)} on ${D}`;
80
70
  }, N = (e) => {
81
- T(e);
82
- }, O = () => {
83
- a && v(a.id);
71
+ F(e);
72
+ }, R = () => {
73
+ a && T(a);
84
74
  }, U = (e) => {
85
- const r = [
75
+ const o = e.payrollUuid || e.uuid, n = [
86
76
  {
87
77
  label: t("menu.viewSummary"),
88
- icon: /* @__PURE__ */ n(S, { "aria-hidden": !0 }),
78
+ icon: /* @__PURE__ */ r(g, { "aria-hidden": !0 }),
89
79
  onClick: () => {
90
- P(e.id);
80
+ b(o);
91
81
  }
92
82
  },
93
83
  {
94
84
  label: t("menu.viewReceipt"),
95
- icon: /* @__PURE__ */ n(S, { "aria-hidden": !0 }),
85
+ icon: /* @__PURE__ */ r(g, { "aria-hidden": !0 }),
96
86
  onClick: () => {
97
- C(e.id);
87
+ C(o);
98
88
  }
99
89
  }
100
90
  ];
101
- return L(e) && r.push({
91
+ return L(e) && n.push({
102
92
  label: t("menu.cancelPayroll"),
103
- icon: /* @__PURE__ */ n($, { "aria-hidden": !0 }),
93
+ icon: /* @__PURE__ */ r(W, { "aria-hidden": !0 }),
104
94
  onClick: () => {
105
95
  N(e);
106
96
  },
107
97
  "data-destructive": "true"
108
- }), r;
98
+ }), n;
109
99
  };
110
- return m.length === 0 ? /* @__PURE__ */ u(c, { flexDirection: "column", alignItems: "center", gap: 24, children: [
111
- /* @__PURE__ */ n(f, { as: "h3", children: t("emptyState.title") }),
112
- /* @__PURE__ */ n(o, { children: t("emptyState.description") })
113
- ] }) : /* @__PURE__ */ u(c, { flexDirection: "column", gap: 16, children: [
114
- /* @__PURE__ */ u(
100
+ return y.length === 0 ? /* @__PURE__ */ d(c, { flexDirection: "column", alignItems: "center", gap: 24, children: [
101
+ /* @__PURE__ */ r(f, { as: "h3", children: t("emptyState.title") }),
102
+ /* @__PURE__ */ r(l, { children: t("emptyState.description") })
103
+ ] }) : /* @__PURE__ */ d(c, { flexDirection: "column", gap: 16, children: [
104
+ /* @__PURE__ */ d(
115
105
  c,
116
106
  {
117
107
  flexDirection: { base: "column", medium: "row" },
@@ -119,15 +109,15 @@ const _ = (m) => {
119
109
  alignItems: "flex-start",
120
110
  gap: { base: 12, medium: 24 },
121
111
  children: [
122
- /* @__PURE__ */ n(c, { children: /* @__PURE__ */ n(f, { as: "h2", children: t("title") }) }),
123
- /* @__PURE__ */ n("div", { className: I.timeFilterContainer, children: /* @__PURE__ */ n(
112
+ /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(f, { as: "h2", children: t("title") }) }),
113
+ /* @__PURE__ */ r("div", { className: Y.timeFilterContainer, children: /* @__PURE__ */ r(
124
114
  k,
125
115
  {
126
- value: b,
116
+ value: w,
127
117
  onChange: (e) => {
128
- w(e);
118
+ S(e);
129
119
  },
130
- options: V,
120
+ options: H,
131
121
  label: t("timeFilter.placeholder"),
132
122
  shouldVisuallyHideLabel: !0,
133
123
  isRequired: !0
@@ -136,50 +126,63 @@ const _ = (m) => {
136
126
  ]
137
127
  }
138
128
  ),
139
- /* @__PURE__ */ n(
140
- B,
129
+ /* @__PURE__ */ r(
130
+ z,
141
131
  {
142
132
  label: t("dataView.label"),
143
133
  columns: [
144
134
  {
145
135
  title: t("columns.payPeriod"),
146
- render: (e) => /* @__PURE__ */ n(o, { children: e.payPeriod })
136
+ render: (e) => /* @__PURE__ */ r(l, { children: u.formatPayPeriodRange(
137
+ e.payPeriod?.startDate,
138
+ e.payPeriod?.endDate
139
+ ) })
147
140
  },
148
141
  {
149
142
  title: t("columns.type"),
150
- render: (e) => /* @__PURE__ */ n(o, { children: e.type })
143
+ render: (e) => /* @__PURE__ */ r(l, { children: j(e) })
151
144
  },
152
145
  {
153
146
  title: t("columns.payDate"),
154
- render: (e) => /* @__PURE__ */ n(o, { children: e.payDate })
147
+ render: (e) => /* @__PURE__ */ r(l, { children: u.formatShortWithYear(e.checkDate) })
155
148
  },
156
149
  {
157
150
  title: t("columns.status"),
158
- render: (e) => /* @__PURE__ */ n(A, { status: _(e.status), children: e.status })
151
+ render: (e) => {
152
+ const o = P.find(
153
+ (n) => n.paymentUuid === e.payrollUuid
154
+ );
155
+ return /* @__PURE__ */ r(_, { payroll: e, wireInRequest: o });
156
+ }
159
157
  },
160
158
  {
161
159
  title: t("columns.totalPayroll"),
162
- render: (e) => /* @__PURE__ */ n(o, { weight: "semibold", children: e.amount !== void 0 ? Y(e.amount) : t("labels.noAmount") })
160
+ render: (e) => /* @__PURE__ */ r(l, { weight: "semibold", children: Z(V(e)) })
163
161
  }
164
162
  ],
165
- data: m,
166
- itemMenu: (e) => /* @__PURE__ */ n(q, { items: U(e) })
163
+ data: y,
164
+ itemMenu: (e) => /* @__PURE__ */ r(q, { items: U(e) })
167
165
  }
168
166
  ),
169
- /* @__PURE__ */ n(
170
- H,
167
+ /* @__PURE__ */ r(
168
+ A,
171
169
  {
172
170
  isOpen: !!a,
173
- onClose: F,
174
- onPrimaryActionClick: O,
171
+ onClose: v,
172
+ onPrimaryActionClick: R,
175
173
  isDestructive: !0,
176
174
  isPrimaryActionLoading: x,
177
175
  primaryActionLabel: t("cancelDialog.primaryAction"),
178
176
  closeActionLabel: t("cancelDialog.secondaryAction"),
179
- title: a ? t("cancelDialog.title", { payPeriod: a.payPeriod }) : "",
180
- children: a && /* @__PURE__ */ u(c, { flexDirection: "column", gap: 16, children: [
181
- /* @__PURE__ */ n(o, { children: t("cancelDialog.body") }),
182
- a.payroll.payrollDeadline && /* @__PURE__ */ n(o, { children: t("cancelDialog.deadline", {
177
+ title: a ? t("cancelDialog.title", {
178
+ payPeriod: u.formatPayPeriodRange(
179
+ a.payPeriod?.startDate,
180
+ a.payPeriod?.endDate
181
+ )
182
+ }) : "",
183
+ children: a && /* @__PURE__ */ d(c, { flexDirection: "column", gap: 16, children: [
184
+ /* @__PURE__ */ r(l, { children: t("cancelDialog.body") }),
185
+ a.payrollDeadline && /* @__PURE__ */ r(l, { children: t("cancelDialog.deadline", {
183
186
  deadline: M(a)
184
187
  }) })
185
188
  ] })
@@ -188,6 +191,6 @@ const _ = (m) => {
188
191
  ] });
189
192
  };
190
193
  export {
191
- ae as PayrollHistoryPresentation
194
+ me as PayrollHistoryPresentation
192
195
  };
193
196
  //# sourceMappingURL=PayrollHistoryPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollHistoryPresentation.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { PayrollHistoryItem, PayrollHistoryStatus, TimeFilterOption } from './PayrollHistory'\nimport styles from './PayrollHistoryPresentation.module.scss'\nimport type { MenuItem } from '@/components/Common/UI/Menu/MenuTypes'\nimport { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport ListIcon from '@/assets/icons/list.svg?react'\nimport TrashcanIcon from '@/assets/icons/trashcan.svg?react'\n\ninterface PayrollHistoryPresentationProps {\n payrollHistory: PayrollHistoryItem[]\n selectedTimeFilter: TimeFilterOption\n onTimeFilterChange: (value: TimeFilterOption) => void\n onViewSummary: (payrollId: string) => void\n onViewReceipt: (payrollId: string) => void\n onCancelPayroll: (payrollId: string) => void\n cancelDialogItem: PayrollHistoryItem | null\n onCancelDialogOpen: (item: PayrollHistoryItem) => void\n onCancelDialogClose: () => void\n isLoading?: boolean\n}\n\nconst getStatusVariant = (status: PayrollHistoryStatus) => {\n switch (status) {\n case 'Complete':\n case 'Paid':\n return 'success'\n case 'In progress':\n case 'Unprocessed':\n return 'warning'\n case 'Submitted':\n case 'Pending':\n return 'info'\n default:\n return 'info'\n }\n}\n\nexport const PayrollHistoryPresentation = ({\n payrollHistory,\n selectedTimeFilter,\n onTimeFilterChange,\n onViewSummary,\n onViewReceipt,\n onCancelPayroll,\n cancelDialogItem,\n onCancelDialogOpen,\n onCancelDialogClose,\n isLoading = false,\n}: PayrollHistoryPresentationProps) => {\n const { Heading, Text, Badge, Select, Dialog } = useComponentContext()\n useI18n('Payroll.PayrollHistory')\n const { t } = useTranslation('Payroll.PayrollHistory')\n\n const timeFilterOptions = [\n { value: '3months', label: t('timeFilter.options.3months') },\n { value: '6months', label: t('timeFilter.options.6months') },\n { value: 'year', label: t('timeFilter.options.year') },\n ]\n\n const canCancelPayroll = (item: PayrollHistoryItem) => {\n const { status, payroll } = item\n\n const hasValidStatus =\n status === 'Unprocessed' ||\n status === 'Submitted' ||\n status === 'Pending' ||\n status === 'In progress'\n if (!hasValidStatus) return false\n\n if (payroll.payrollStatusMeta?.cancellable === false) {\n return false\n }\n\n // If payroll is processed, check the 3:30 PM PT deadline constraint\n if (payroll.processed && payroll.payrollDeadline) {\n const now = new Date()\n const deadline = new Date(payroll.payrollDeadline)\n\n const ptOffset = getPacificTimeOffset(now)\n const nowInPT = new Date(now.getTime() + ptOffset * 60 * 60 * 1000)\n const deadlineInPT = new Date(\n deadline.getTime() + getPacificTimeOffset(deadline) * 60 * 60 * 1000,\n )\n\n const isSameDay = nowInPT.toDateString() === deadlineInPT.toDateString()\n if (isSameDay) {\n const cutoffTime = new Date(deadlineInPT)\n cutoffTime.setHours(15, 30, 0, 0)\n\n if (nowInPT > cutoffTime) {\n return false\n }\n }\n }\n\n return true\n }\n\n const getPacificTimeOffset = (date: Date): number => {\n const year = date.getFullYear()\n\n const secondSundayMarch = new Date(year, 2, 1)\n secondSundayMarch.setDate(1 + (7 - secondSundayMarch.getDay()) + 7)\n\n const firstSundayNovember = new Date(year, 10, 1)\n firstSundayNovember.setDate(1 + ((7 - firstSundayNovember.getDay()) % 7))\n\n const isDST = date >= secondSundayMarch && date < firstSundayNovember\n return isDST ? -7 : -8\n }\n\n const formatDeadlineForDialog = (item: PayrollHistoryItem): string => {\n const deadline = item.payroll.payrollDeadline\n if (!deadline) return ''\n\n const deadlineDate = new Date(deadline)\n const timeZone = 'America/New_York'\n\n const formatter = new Intl.DateTimeFormat('en-US', {\n weekday: 'short',\n month: 'short',\n day: 'numeric',\n timeZone,\n })\n\n const timeFormatter = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: '2-digit',\n timeZoneName: 'short',\n timeZone,\n })\n\n const dateStr = formatter.format(deadlineDate)\n const timeStr = timeFormatter.format(deadlineDate)\n\n return `${timeStr} on ${dateStr}`\n }\n\n const handleCancelClick = (item: PayrollHistoryItem) => {\n onCancelDialogOpen(item)\n }\n\n const handleConfirmCancel = () => {\n if (cancelDialogItem) {\n onCancelPayroll(cancelDialogItem.id)\n }\n }\n\n const getMenuItems = (item: PayrollHistoryItem): MenuItem[] => {\n const items: MenuItem[] = [\n {\n label: t('menu.viewSummary'),\n icon: <ListIcon aria-hidden />,\n onClick: () => {\n onViewSummary(item.id)\n },\n },\n {\n label: t('menu.viewReceipt'),\n icon: <ListIcon aria-hidden />,\n onClick: () => {\n onViewReceipt(item.id)\n },\n },\n ]\n\n if (canCancelPayroll(item)) {\n items.push({\n label: t('menu.cancelPayroll'),\n icon: <TrashcanIcon aria-hidden />,\n onClick: () => {\n handleCancelClick(item)\n },\n 'data-destructive': 'true',\n })\n }\n\n return items\n }\n\n if (payrollHistory.length === 0) {\n return (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={24}>\n <Heading as=\"h3\">{t('emptyState.title')}</Heading>\n <Text>{t('emptyState.description')}</Text>\n </Flex>\n )\n }\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\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 <div className={styles.timeFilterContainer}>\n <Select\n value={selectedTimeFilter}\n onChange={(value: string) => {\n onTimeFilterChange(value as TimeFilterOption)\n }}\n options={timeFilterOptions}\n label={t('timeFilter.placeholder')}\n shouldVisuallyHideLabel\n isRequired\n />\n </div>\n </Flex>\n\n <DataView\n label={t('dataView.label')}\n columns={[\n {\n title: t('columns.payPeriod'),\n render: (item: PayrollHistoryItem) => <Text>{item.payPeriod}</Text>,\n },\n {\n title: t('columns.type'),\n render: (item: PayrollHistoryItem) => <Text>{item.type}</Text>,\n },\n {\n title: t('columns.payDate'),\n render: (item: PayrollHistoryItem) => <Text>{item.payDate}</Text>,\n },\n {\n title: t('columns.status'),\n render: (item: PayrollHistoryItem) => (\n <Badge status={getStatusVariant(item.status)}>{item.status}</Badge>\n ),\n },\n {\n title: t('columns.totalPayroll'),\n render: (item: PayrollHistoryItem) => (\n <Text weight=\"semibold\">\n {item.amount !== undefined\n ? formatNumberAsCurrency(item.amount)\n : t('labels.noAmount')}\n </Text>\n ),\n },\n ]}\n data={payrollHistory}\n itemMenu={(item: PayrollHistoryItem) => <HamburgerMenu items={getMenuItems(item)} />}\n />\n\n <Dialog\n isOpen={!!cancelDialogItem}\n onClose={onCancelDialogClose}\n onPrimaryActionClick={handleConfirmCancel}\n isDestructive\n isPrimaryActionLoading={isLoading}\n primaryActionLabel={t('cancelDialog.primaryAction')}\n closeActionLabel={t('cancelDialog.secondaryAction')}\n title={\n cancelDialogItem ? t('cancelDialog.title', { payPeriod: cancelDialogItem.payPeriod }) : ''\n }\n >\n {cancelDialogItem && (\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('cancelDialog.body')}</Text>\n {cancelDialogItem.payroll.payrollDeadline && (\n <Text>\n {t('cancelDialog.deadline', {\n deadline: formatDeadlineForDialog(cancelDialogItem),\n })}\n </Text>\n )}\n </Flex>\n )}\n </Dialog>\n </Flex>\n )\n}\n"],"names":["getStatusVariant","status","PayrollHistoryPresentation","payrollHistory","selectedTimeFilter","onTimeFilterChange","onViewSummary","onViewReceipt","onCancelPayroll","cancelDialogItem","onCancelDialogOpen","onCancelDialogClose","isLoading","Heading","Text","Badge","Select","Dialog","useComponentContext","useI18n","useTranslation","timeFilterOptions","canCancelPayroll","item","payroll","now","deadline","ptOffset","getPacificTimeOffset","nowInPT","deadlineInPT","cutoffTime","date","year","secondSundayMarch","firstSundayNovember","formatDeadlineForDialog","deadlineDate","timeZone","formatter","timeFormatter","dateStr","handleCancelClick","handleConfirmCancel","getMenuItems","items","jsx","ListIcon","TrashcanIcon","Flex","jsxs","styles","value","DataView","formatNumberAsCurrency","HamburgerMenu"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollHistoryPresentation.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollType, calculateTotalPayroll } from '../helpers'\nimport type { TimeFilterOption } from './PayrollHistory'\nimport styles from './PayrollHistoryPresentation.module.scss'\nimport type { MenuItem } from '@/components/Common/UI/Menu/MenuTypes'\nimport { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport ListIcon from '@/assets/icons/list.svg?react'\nimport TrashcanIcon from '@/assets/icons/trashcan.svg?react'\n\ninterface PayrollHistoryPresentationProps {\n payrollHistory: Payroll[]\n wireInRequests: WireInRequest[]\n selectedTimeFilter: TimeFilterOption\n onTimeFilterChange: (value: TimeFilterOption) => void\n onViewSummary: (payrollId: string) => void\n onViewReceipt: (payrollId: string) => void\n onCancelPayroll: (item: Payroll) => void\n cancelDialogItem: Payroll | null\n onCancelDialogOpen: (item: Payroll) => void\n onCancelDialogClose: () => void\n isLoading?: boolean\n}\n\nexport const PayrollHistoryPresentation = ({\n payrollHistory,\n wireInRequests,\n selectedTimeFilter,\n onTimeFilterChange,\n onViewSummary,\n onViewReceipt,\n onCancelPayroll,\n cancelDialogItem,\n onCancelDialogOpen,\n onCancelDialogClose,\n isLoading = false,\n}: PayrollHistoryPresentationProps) => {\n const { Heading, Text, Select, Dialog } = useComponentContext()\n useI18n('Payroll.PayrollHistory')\n const { t } = useTranslation('Payroll.PayrollHistory')\n const dateFormatter = useDateFormatter()\n\n const timeFilterOptions = [\n { value: '3months', label: t('timeFilter.options.3months') },\n { value: '6months', label: t('timeFilter.options.6months') },\n { value: 'year', label: t('timeFilter.options.year') },\n ]\n\n const canCancelPayroll = (item: Payroll) => {\n if (item.payrollStatusMeta?.cancellable === false) {\n return false\n }\n\n if (item.processed && item.payrollDeadline) {\n const now = new Date()\n const deadline = new Date(item.payrollDeadline)\n\n const ptOffset = getPacificTimeOffset(now)\n const nowInPT = new Date(now.getTime() + ptOffset * 60 * 60 * 1000)\n const deadlineInPT = new Date(\n deadline.getTime() + getPacificTimeOffset(deadline) * 60 * 60 * 1000,\n )\n\n const isSameDay = nowInPT.toDateString() === deadlineInPT.toDateString()\n if (isSameDay) {\n const cutoffTime = new Date(deadlineInPT)\n cutoffTime.setHours(15, 30, 0, 0)\n\n if (nowInPT > cutoffTime) {\n return false\n }\n }\n }\n\n return true\n }\n\n const getPacificTimeOffset = (date: Date): number => {\n const year = date.getFullYear()\n\n const secondSundayMarch = new Date(year, 2, 1)\n secondSundayMarch.setDate(1 + (7 - secondSundayMarch.getDay()) + 7)\n\n const firstSundayNovember = new Date(year, 10, 1)\n firstSundayNovember.setDate(1 + ((7 - firstSundayNovember.getDay()) % 7))\n\n const isDST = date >= secondSundayMarch && date < firstSundayNovember\n return isDST ? -7 : -8\n }\n\n const formatDeadlineForDialog = (item: Payroll): string => {\n const deadline = item.payrollDeadline\n if (!deadline) return ''\n\n const deadlineDate = new Date(deadline)\n const timeZone = 'America/New_York'\n\n const formatter = new Intl.DateTimeFormat('en-US', {\n weekday: 'short',\n month: 'short',\n day: 'numeric',\n timeZone,\n })\n\n const timeFormatter = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: '2-digit',\n timeZoneName: 'short',\n timeZone,\n })\n\n const dateStr = formatter.format(deadlineDate)\n const timeStr = timeFormatter.format(deadlineDate)\n\n return `${timeStr} on ${dateStr}`\n }\n\n const handleCancelClick = (item: Payroll) => {\n onCancelDialogOpen(item)\n }\n\n const handleConfirmCancel = () => {\n if (cancelDialogItem) {\n onCancelPayroll(cancelDialogItem)\n }\n }\n\n const getMenuItems = (item: Payroll): MenuItem[] => {\n const payrollId = item.payrollUuid || item.uuid!\n const items: MenuItem[] = [\n {\n label: t('menu.viewSummary'),\n icon: <ListIcon aria-hidden />,\n onClick: () => {\n onViewSummary(payrollId)\n },\n },\n {\n label: t('menu.viewReceipt'),\n icon: <ListIcon aria-hidden />,\n onClick: () => {\n onViewReceipt(payrollId)\n },\n },\n ]\n\n if (canCancelPayroll(item)) {\n items.push({\n label: t('menu.cancelPayroll'),\n icon: <TrashcanIcon aria-hidden />,\n onClick: () => {\n handleCancelClick(item)\n },\n 'data-destructive': 'true',\n })\n }\n\n return items\n }\n\n if (payrollHistory.length === 0) {\n return (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={24}>\n <Heading as=\"h3\">{t('emptyState.title')}</Heading>\n <Text>{t('emptyState.description')}</Text>\n </Flex>\n )\n }\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\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 <div className={styles.timeFilterContainer}>\n <Select\n value={selectedTimeFilter}\n onChange={(value: string) => {\n onTimeFilterChange(value as TimeFilterOption)\n }}\n options={timeFilterOptions}\n label={t('timeFilter.placeholder')}\n shouldVisuallyHideLabel\n isRequired\n />\n </div>\n </Flex>\n\n <DataView\n label={t('dataView.label')}\n columns={[\n {\n title: t('columns.payPeriod'),\n render: (item: Payroll) => (\n <Text>\n {dateFormatter.formatPayPeriodRange(\n item.payPeriod?.startDate,\n item.payPeriod?.endDate,\n )}\n </Text>\n ),\n },\n {\n title: t('columns.type'),\n render: (item: Payroll) => <Text>{getPayrollType(item)}</Text>,\n },\n {\n title: t('columns.payDate'),\n render: (item: Payroll) => (\n <Text>{dateFormatter.formatShortWithYear(item.checkDate)}</Text>\n ),\n },\n {\n title: t('columns.status'),\n render: (item: Payroll) => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === item.payrollUuid,\n )\n return <PayrollStatusBadges payroll={item} wireInRequest={wireInRequest} />\n },\n },\n {\n title: t('columns.totalPayroll'),\n render: (item: Payroll) => (\n <Text weight=\"semibold\">{formatNumberAsCurrency(calculateTotalPayroll(item))}</Text>\n ),\n },\n ]}\n data={payrollHistory}\n itemMenu={(item: Payroll) => <HamburgerMenu items={getMenuItems(item)} />}\n />\n\n <Dialog\n isOpen={!!cancelDialogItem}\n onClose={onCancelDialogClose}\n onPrimaryActionClick={handleConfirmCancel}\n isDestructive\n isPrimaryActionLoading={isLoading}\n primaryActionLabel={t('cancelDialog.primaryAction')}\n closeActionLabel={t('cancelDialog.secondaryAction')}\n title={\n cancelDialogItem\n ? t('cancelDialog.title', {\n payPeriod: dateFormatter.formatPayPeriodRange(\n cancelDialogItem.payPeriod?.startDate,\n cancelDialogItem.payPeriod?.endDate,\n ),\n })\n : ''\n }\n >\n {cancelDialogItem && (\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('cancelDialog.body')}</Text>\n {cancelDialogItem.payrollDeadline && (\n <Text>\n {t('cancelDialog.deadline', {\n deadline: formatDeadlineForDialog(cancelDialogItem),\n })}\n </Text>\n )}\n </Flex>\n )}\n </Dialog>\n </Flex>\n )\n}\n"],"names":["PayrollHistoryPresentation","payrollHistory","wireInRequests","selectedTimeFilter","onTimeFilterChange","onViewSummary","onViewReceipt","onCancelPayroll","cancelDialogItem","onCancelDialogOpen","onCancelDialogClose","isLoading","Heading","Text","Select","Dialog","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","timeFilterOptions","canCancelPayroll","item","now","deadline","ptOffset","getPacificTimeOffset","nowInPT","deadlineInPT","cutoffTime","date","year","secondSundayMarch","firstSundayNovember","formatDeadlineForDialog","deadlineDate","timeZone","formatter","timeFormatter","dateStr","handleCancelClick","handleConfirmCancel","getMenuItems","payrollId","items","jsx","ListIcon","TrashcanIcon","Flex","jsxs","styles","value","DataView","getPayrollType","wireInRequest","wire","PayrollStatusBadges","formatNumberAsCurrency","calculateTotalPayroll","HamburgerMenu"],"mappings":"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"}
@@ -1,78 +1,77 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { useState as n } from "react";
3
- import { usePayrollsListSuspense as B } from "@gusto/embedded-api/react-query/payrollsList";
4
- import { usePaySchedulesGetAllSuspense as g } from "@gusto/embedded-api/react-query/paySchedulesGetAll";
5
- import { usePayrollsSkipMutation as _ } from "@gusto/embedded-api/react-query/payrollsSkip";
6
- import { usePayrollsGetBlockersSuspense as w } from "@gusto/embedded-api/react-query/payrollsGetBlockers";
7
- import { PayrollType as E } from "@gusto/embedded-api/models/operations/postcompaniespayrollskipcompanyuuid";
2
+ import { useState as p } from "react";
3
+ import { usePayrollsListSuspense as h } from "@gusto/embedded-api/react-query/payrollsList";
4
+ import { usePaySchedulesGetAllSuspense as w } from "@gusto/embedded-api/react-query/paySchedulesGetAll";
5
+ import { usePayrollsSkipMutation as A } from "@gusto/embedded-api/react-query/payrollsSkip";
6
+ import { usePayrollsGetBlockersSuspense as B } from "@gusto/embedded-api/react-query/payrollsGetBlockers";
7
+ import { useWireInRequestsListSuspense as _ } from "@gusto/embedded-api/react-query/wireInRequestsList";
8
+ import { PayrollType as g } from "@gusto/embedded-api/models/operations/postcompaniespayrollskipcompanyuuid";
8
9
  import { ProcessingStatuses as U } from "@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls";
9
- import { getPayrollType as O } from "../helpers.js";
10
- import { PayrollListPresentation as T } from "./PayrollListPresentation.js";
11
- import { BaseComponent as b } from "../../Base/Base.js";
12
- import { useBase as Y } from "../../Base/useBase.js";
10
+ import { PayrollListPresentation as q } from "./PayrollListPresentation.js";
11
+ import { BaseComponent as E } from "../../Base/Base.js";
12
+ import { useBase as I } from "../../Base/useBase.js";
13
13
  import { componentEvents as r } from "../../../shared/constants.js";
14
- const C = (o) => ({
15
- ...o,
16
- payrollType: O(o)
17
- });
18
- function X(o) {
19
- return /* @__PURE__ */ a(b, { ...o, children: /* @__PURE__ */ a(I, { ...o }) });
14
+ function Z(e) {
15
+ return /* @__PURE__ */ a(E, { ...e, children: /* @__PURE__ */ a(b, { ...e }) });
20
16
  }
21
- const I = ({ companyId: o, onEvent: t }) => {
22
- const { baseSubmitHandler: c } = Y(), [y, l] = n(!1), [u, i] = n(null), { data: m } = B({
23
- companyId: o,
17
+ const b = ({ companyId: e, onEvent: t }) => {
18
+ const { baseSubmitHandler: u } = I(), [c, l] = p(!1), [y, i] = p(null), { data: m } = h({
19
+ companyId: e,
24
20
  processingStatuses: [U.Unprocessed]
25
- }), p = m.payrollList, { data: P } = g({
26
- companyId: o
27
- }), S = P.payScheduleList, { data: d } = w({
28
- companyUuid: o
21
+ }), n = m.payrollList, { data: S } = w({
22
+ companyId: e
23
+ }), P = S.payScheduleList, { data: d } = B({
24
+ companyUuid: e
29
25
  }), L = (d.payrollBlockerList ?? []).map((s) => ({
30
26
  key: s.key ?? "unknown",
31
27
  message: s.message
32
- })), { mutateAsync: f } = _(), k = ({ payrollUuid: s, payPeriod: e }) => {
33
- t(r.RUN_PAYROLL_SELECTED, { payrollUuid: s, payPeriod: e });
34
- }, R = ({
35
- payrollUuid: s,
36
- payPeriod: e
37
- }) => {
38
- t(r.REVIEW_PAYROLL, { payrollUuid: s, payPeriod: e });
39
- }, h = () => {
40
- t(r.RUN_PAYROLL_BLOCKERS_VIEW_ALL);
41
- }, A = async ({ payrollUuid: s }) => {
42
- const e = p.find((D) => D.payrollUuid === s);
43
- e?.payPeriod && (i(s), await c({}, async () => {
44
- await f({
45
- request: {
46
- companyUuid: o,
47
- requestBody: {
48
- payrollType: E.Regular,
49
- startDate: e.payPeriod?.startDate,
50
- endDate: e.payPeriod?.endDate,
51
- payScheduleUuid: e.payPeriod?.payScheduleUuid ?? void 0
52
- }
53
- }
54
- }), l(!0), t(r.PAYROLL_SKIPPED, { payrollId: s });
55
- }), i(null));
56
- };
28
+ })), { data: k } = _({
29
+ companyUuid: e
30
+ }), f = k.wireInRequestList ?? [], { mutateAsync: R } = A();
57
31
  return /* @__PURE__ */ a(
58
- T,
32
+ q,
59
33
  {
60
- payrolls: p.map(C),
61
- paySchedules: S,
62
- onRunPayroll: k,
63
- onSubmitPayroll: R,
64
- onSkipPayroll: A,
65
- onViewBlockers: h,
66
- showSkipSuccessAlert: y,
34
+ payrolls: n,
35
+ paySchedules: P,
36
+ onRunPayroll: ({ payrollUuid: s, payPeriod: o }) => {
37
+ t(r.RUN_PAYROLL_SELECTED, { payrollUuid: s, payPeriod: o });
38
+ },
39
+ onSubmitPayroll: ({
40
+ payrollUuid: s,
41
+ payPeriod: o
42
+ }) => {
43
+ t(r.REVIEW_PAYROLL, { payrollUuid: s, payPeriod: o });
44
+ },
45
+ onSkipPayroll: async ({ payrollUuid: s }) => {
46
+ const o = n.find((D) => D.payrollUuid === s);
47
+ o?.payPeriod && (i(s), await u({}, async () => {
48
+ await R({
49
+ request: {
50
+ companyUuid: e,
51
+ requestBody: {
52
+ payrollType: g.Regular,
53
+ startDate: o.payPeriod?.startDate,
54
+ endDate: o.payPeriod?.endDate,
55
+ payScheduleUuid: o.payPeriod?.payScheduleUuid ?? void 0
56
+ }
57
+ }
58
+ }), l(!0), t(r.PAYROLL_SKIPPED, { payrollId: s });
59
+ }), i(null));
60
+ },
61
+ onViewBlockers: () => {
62
+ t(r.RUN_PAYROLL_BLOCKERS_VIEW_ALL);
63
+ },
64
+ showSkipSuccessAlert: c,
67
65
  onDismissSkipSuccessAlert: () => {
68
66
  l(!1);
69
67
  },
70
- skippingPayrollId: u,
71
- blockers: L
68
+ skippingPayrollId: y,
69
+ blockers: L,
70
+ wireInRequests: f
72
71
  }
73
72
  );
74
73
  };
75
74
  export {
76
- X as PayrollList
75
+ Z as PayrollList
77
76
  };
78
77
  //# sourceMappingURL=PayrollList.js.map
@@ -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 { 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 { getPayrollType } from '../helpers'\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\nconst createPayrollProjection = (p: Payroll) => ({\n ...p,\n payrollType: getPayrollType(p),\n})\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 { 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.map(createPayrollProjection)}\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 />\n )\n}\n"],"names":["createPayrollProjection","p","getPayrollType","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","skipPayroll","usePayrollsSkipMutation","onRunPayroll","payrollUuid","payPeriod","componentEvents","onSubmitPayroll","onViewBlockers","onSkipPayroll","payroll","PayrollType","PayrollListPresentation"],"mappings":";;;;;;;;;;;;;AAeA,MAAMA,IAA0B,CAACC,OAAgB;AAAA,EAC/C,GAAGA;AAAA,EACH,aAAaC,EAAeD,CAAC;AAC/B;AAMO,SAASE,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,aAAaC,EAAA,IAAgBC,EAAA,GAE/BC,IAAe,CAAC,EAAE,aAAAC,GAAa,WAAAC,QAA4D;AAC/F,IAAAvB,EAAQwB,EAAgB,sBAAsB,EAAE,aAAAF,GAAa,WAAAC,GAAW;AAAA,EAC1E,GACME,IAAkB,CAAC;AAAA,IACvB,aAAAH;AAAA,IACA,WAAAC;AAAA,EAAA,MACgD;AAChD,IAAAvB,EAAQwB,EAAgB,gBAAgB,EAAE,aAAAF,GAAa,WAAAC,GAAW;AAAA,EACpE,GACMG,IAAiB,MAAM;AAC3B,IAAA1B,EAAQwB,EAAgB,6BAA6B;AAAA,EACvD,GACMG,IAAgB,OAAO,EAAE,aAAAL,QAAgD;AAC7E,UAAMM,IAAUjB,EAAY,KAAK,CAAAiB,MAAWA,EAAQ,gBAAgBN,CAAW;AAE/E,IAAIM,GAAS,cACXrB,EAAqBe,CAAY,GACjC,MAAMrB,EAAkB,CAAA,GAAI,YAAY;AACtC,YAAMkB,EAAY;AAAA,QAChB,SAAS;AAAA,UACP,aAAapB;AAAA,UACb,aAAa;AAAA,YACX,aAAa8B,EAAY;AAAA,YACzB,WAAWD,EAAQ,WAAW;AAAA,YAC9B,SAASA,EAAQ,WAAW;AAAA,YAC5B,iBAAiBA,EAAQ,WAAW,mBAAmB;AAAA,UAAA;AAAA,QACzD;AAAA,MACF,CACD,GAEDxB,EAAwB,EAAI,GAC5BJ,EAAQwB,EAAgB,iBAAiB,EAAE,WAAWF,GAAa;AAAA,IACrE,CAAC,GACDf,EAAqB,IAAI;AAAA,EAE7B;AACA,SACE,gBAAAX;AAAA,IAACkC;AAAA,IAAA;AAAA,MACC,UAAUnB,EAAY,IAAIpB,CAAuB;AAAA,MACjD,cAAcuB;AAAA,MACd,cAAAO;AAAA,MACA,iBAAAI;AAAA,MACA,eAAAE;AAAA,MACA,gBAAAD;AAAA,MACA,sBAAAvB;AAAA,MACA,2BAA2B,MAAM;AAC/B,QAAAC,EAAwB,EAAK;AAAA,MAC/B;AAAA,MACA,mBAAAE;AAAA,MACA,UAAAW;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 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;"}