@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,21 +1,19 @@
1
1
  import { Payroll } from '@gusto/embedded-api/models/components/payroll';
2
2
  import { PayScheduleList } from '@gusto/embedded-api/models/components/payschedulelist';
3
+ import { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest';
3
4
  import { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers';
4
- import { PayrollType } from './types';
5
- interface PresentationPayroll extends Payroll {
6
- payrollType: PayrollType;
7
- }
8
5
  interface PayrollListPresentationProps {
9
6
  onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void;
10
7
  onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void;
11
8
  onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void;
12
9
  onViewBlockers?: () => void;
13
- payrolls: PresentationPayroll[];
10
+ payrolls: Payroll[];
14
11
  paySchedules: PayScheduleList[];
15
12
  showSkipSuccessAlert: boolean;
16
13
  onDismissSkipSuccessAlert: () => void;
17
14
  skippingPayrollId: string | null;
18
15
  blockers: ApiPayrollBlocker[];
16
+ wireInRequests: WireInRequest[];
19
17
  }
20
- export declare const PayrollListPresentation: ({ onRunPayroll, onSubmitPayroll, onSkipPayroll, onViewBlockers, payrolls, paySchedules, showSkipSuccessAlert, onDismissSkipSuccessAlert, skippingPayrollId, blockers, }: PayrollListPresentationProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const PayrollListPresentation: ({ onRunPayroll, onSubmitPayroll, onSkipPayroll, onViewBlockers, payrolls, paySchedules, showSkipSuccessAlert, onDismissSkipSuccessAlert, skippingPayrollId, blockers, wireInRequests, }: PayrollListPresentationProps) => import("react/jsx-runtime").JSX.Element;
21
19
  export {};
@@ -1,40 +1,44 @@
1
1
  import { jsx as r, jsxs as u } from "react/jsx-runtime";
2
- import { useRef as N, useState as R } from "react";
2
+ import { useRef as j, useState as N } from "react";
3
3
  import { useTranslation as Y } from "react-i18next";
4
- import { PayrollBlockerAlerts as V } from "../PayrollBlocker/components/PayrollBlockerAlerts.js";
4
+ import { PayrollBlockerAlerts as U } from "../PayrollBlocker/components/PayrollBlockerAlerts.js";
5
+ import { getPayrollType as V } from "../helpers.js";
5
6
  import C from "./PayrollListPresentation.module.scss.js";
6
7
  import { Flex as i } from "../../Common/Flex/Flex.js";
7
8
  import "classnames";
9
+ import "../../../shared/constants.js";
10
+ import { HamburgerMenu as q } from "../../Common/HamburgerMenu/HamburgerMenu.js";
8
11
  import { useComponentContext as E } from "../../../contexts/ComponentAdapter/useComponentContext.js";
9
12
  import { useI18n as $ } from "../../../i18n/I18n.js";
10
- import { formatDateToStringDate as q } from "../../../helpers/dateFormatting.js";
11
- import { useDateFormatter as z } from "../../../hooks/useDateFormatter.js";
12
- import G from "../../../assets/icons/feature-icon-check.svg.js";
13
- import { useContainerBreakpoints as J } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
14
- import { HamburgerMenu as K } from "../../Common/HamburgerMenu/HamburgerMenu.js";
15
- import { DataView as Q } from "../../Common/DataView/DataView.js";
16
- const pe = ({
13
+ import { formatDateToStringDate as z } from "../../../helpers/dateFormatting.js";
14
+ import { useDateFormatter as G } from "../../../hooks/useDateFormatter.js";
15
+ import J from "../../../assets/icons/feature-icon-check.svg.js";
16
+ import { useContainerBreakpoints as K } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
17
+ import { PayrollStatusBadges as Q } from "../PayrollStatusBadges/PayrollStatusBadges.js";
18
+ import { DataView as X } from "../../Common/DataView/DataView.js";
19
+ const gt = ({
17
20
  onRunPayroll: x,
18
21
  onSubmitPayroll: L,
19
22
  onSkipPayroll: A,
20
23
  onViewBlockers: I,
21
- payrolls: v,
24
+ payrolls: w,
22
25
  paySchedules: p,
23
- showSkipSuccessAlert: w,
26
+ showSkipSuccessAlert: v,
24
27
  onDismissSkipSuccessAlert: H,
25
28
  skippingPayrollId: f,
26
- blockers: y
29
+ blockers: y,
30
+ wireInRequests: M
27
31
  }) => {
28
- const { Badge: M, Button: h, Dialog: O, Heading: T, Text: o, Alert: W } = E();
32
+ const { Button: h, Dialog: O, Heading: T, Text: n, Alert: W } = E();
29
33
  $("Payroll.PayrollList");
30
- const { t } = Y("Payroll.PayrollList"), s = z(), D = N(null), B = J({ ref: D }).includes("small"), [d, g] = R({
34
+ const { t: e } = Y("Payroll.PayrollList"), s = G(), D = j(null), B = K({ ref: D }).includes("small"), [m, g] = N({
31
35
  isOpen: !1,
32
36
  payrollId: null,
33
37
  payPeriod: null
34
- }), F = (e, l) => {
38
+ }), F = (t, l) => {
35
39
  g({
36
40
  isOpen: !0,
37
- payrollId: e,
41
+ payrollId: t,
38
42
  payPeriod: l
39
43
  });
40
44
  }, P = () => {
@@ -43,26 +47,26 @@ const pe = ({
43
47
  payrollId: null,
44
48
  payPeriod: null
45
49
  });
46
- }, j = () => {
47
- d.payrollId && (A({ payrollUuid: d.payrollId }), P());
48
- }, k = (e, l) => {
49
- const a = s.formatShort(e), n = s.formatShortWithYear(l);
50
+ }, R = () => {
51
+ m.payrollId && (A({ payrollUuid: m.payrollId }), P());
52
+ }, S = (t, l) => {
53
+ const a = s.formatShort(t), o = s.formatShortWithYear(l);
50
54
  return {
51
55
  startDate: a,
52
- endDate: n,
53
- fullPeriod: s.formatPayPeriodRange(e, l, { useShortMonth: !0 })
56
+ endDate: o,
57
+ fullPeriod: s.formatPayPeriodRange(t, l, { useShortMonth: !0 })
54
58
  };
55
59
  };
56
60
  return /* @__PURE__ */ r("div", { ref: D, className: C.container, children: /* @__PURE__ */ u(i, { flexDirection: "column", gap: 16, children: [
57
- w && /* @__PURE__ */ r("div", { className: C.alertContainer, children: /* @__PURE__ */ r(
61
+ v && /* @__PURE__ */ r("div", { className: C.alertContainer, children: /* @__PURE__ */ r(
58
62
  W,
59
63
  {
60
64
  status: "info",
61
- label: t("skipSuccessAlert"),
65
+ label: e("skipSuccessAlert"),
62
66
  onDismiss: H
63
67
  }
64
68
  ) }),
65
- /* @__PURE__ */ r(V, { blockers: y, onMultipleViewClick: I }),
69
+ /* @__PURE__ */ r(U, { blockers: y, onMultipleViewClick: I }),
66
70
  /* @__PURE__ */ r(
67
71
  i,
68
72
  {
@@ -70,101 +74,106 @@ const pe = ({
70
74
  justifyContent: "space-between",
71
75
  alignItems: "flex-start",
72
76
  gap: { base: 12, medium: 24 },
73
- children: /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(T, { as: "h2", children: t("title") }) })
77
+ children: /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(T, { as: "h2", children: e("title") }) })
74
78
  }
75
79
  ),
76
80
  /* @__PURE__ */ r(
77
- Q,
81
+ X,
78
82
  {
79
83
  emptyState: () => /* @__PURE__ */ u(i, { flexDirection: "column", alignItems: "center", gap: 24, children: [
80
- /* @__PURE__ */ r(G, {}),
81
- /* @__PURE__ */ r(o, { children: t("emptyState") })
84
+ /* @__PURE__ */ r(J, {}),
85
+ /* @__PURE__ */ r(n, { children: e("emptyState") })
82
86
  ] }),
87
+ data: w,
83
88
  columns: [
84
89
  {
85
- render: ({ payPeriod: e }) => {
86
- const { startDate: l, endDate: a } = k(
87
- e?.startDate,
88
- e?.endDate
90
+ render: ({ payPeriod: t }) => {
91
+ const { startDate: l, endDate: a } = S(
92
+ t?.startDate,
93
+ t?.endDate
89
94
  );
90
95
  return /* @__PURE__ */ u(i, { flexDirection: "column", gap: 0, children: [
91
- /* @__PURE__ */ u(o, { children: [
96
+ /* @__PURE__ */ u(n, { children: [
92
97
  l,
93
98
  " - ",
94
99
  a
95
100
  ] }),
96
- /* @__PURE__ */ r(o, { variant: "supporting", children: p.find((n) => n.uuid === e?.payScheduleUuid)?.name || p.find((n) => n.uuid === e?.payScheduleUuid)?.customName })
101
+ /* @__PURE__ */ r(n, { variant: "supporting", children: p.find((o) => o.uuid === t?.payScheduleUuid)?.name || p.find((o) => o.uuid === t?.payScheduleUuid)?.customName })
97
102
  ] });
98
103
  },
99
- title: t("tableHeaders.0")
104
+ title: e("tableHeaders.0")
100
105
  },
101
106
  {
102
- render: ({ payrollType: e }) => /* @__PURE__ */ r(o, { children: t(`type.${e}`) }),
103
- title: t("tableHeaders.1")
107
+ render: (t) => /* @__PURE__ */ r(n, { children: e(`type.${V(t)}`) }),
108
+ title: e("tableHeaders.1")
104
109
  },
105
110
  {
106
- render: ({ checkDate: e }) => /* @__PURE__ */ r(o, { children: s.formatShortWithWeekdayAndYear(e) }),
107
- title: t("tableHeaders.2")
111
+ render: ({ checkDate: t }) => /* @__PURE__ */ r(n, { children: s.formatShortWithWeekdayAndYear(t) }),
112
+ title: e("tableHeaders.2")
108
113
  },
109
114
  {
110
- title: t("tableHeaders.3"),
111
- render: ({ payrollDeadline: e }) => /* @__PURE__ */ r(o, { children: s.formatShortWithWeekdayAndYear(e) })
115
+ title: e("tableHeaders.3"),
116
+ render: ({ payrollDeadline: t }) => /* @__PURE__ */ r(n, { children: s.formatShortWithWeekdayAndYear(t) })
112
117
  },
113
118
  {
114
- title: t("tableHeaders.4"),
115
- render: ({ processed: e }) => /* @__PURE__ */ r(M, { children: t(e ? "status.processed" : "status.unprocessed") })
119
+ title: e("tableHeaders.4"),
120
+ render: (t) => {
121
+ const l = M.find(
122
+ (a) => a.paymentUuid === t.payrollUuid
123
+ );
124
+ return /* @__PURE__ */ r(Q, { payroll: t, wireInRequest: l });
125
+ }
116
126
  },
117
127
  {
118
128
  title: "",
119
- render: ({ payrollUuid: e, calculatedAt: l, processed: a, payPeriod: n }) => {
129
+ render: ({ payrollUuid: t, calculatedAt: l, processed: a, payPeriod: o }) => {
120
130
  if (a)
121
131
  return null;
122
- const m = f === e, c = l ? /* @__PURE__ */ r(
132
+ const d = f === t, c = l ? /* @__PURE__ */ r(
123
133
  h,
124
134
  {
125
- isLoading: m,
135
+ isLoading: d,
126
136
  onClick: () => {
127
- L({ payrollUuid: e, payPeriod: n });
137
+ L({ payrollUuid: t, payPeriod: o });
128
138
  },
129
- title: t("submitPayrollCta"),
139
+ title: e("submitPayrollCta"),
130
140
  variant: "secondary",
131
- children: t("submitPayrollCta")
141
+ children: e("submitPayrollCta")
132
142
  }
133
143
  ) : /* @__PURE__ */ r(
134
144
  h,
135
145
  {
136
- isLoading: m,
146
+ isLoading: d,
137
147
  onClick: () => {
138
- x({ payrollUuid: e, payPeriod: n });
148
+ x({ payrollUuid: t, payPeriod: o });
139
149
  },
140
- title: t("runPayrollTitle"),
150
+ title: e("runPayrollTitle"),
141
151
  variant: "secondary",
142
- children: t("runPayrollTitle")
152
+ children: e("runPayrollTitle")
143
153
  }
144
154
  );
145
155
  return B ? c : /* @__PURE__ */ r(i, { flexDirection: "column", alignItems: "stretch", gap: 12, children: c });
146
156
  }
147
157
  }
148
158
  ],
149
- data: v,
150
- label: t("payrollsListLabel"),
151
- itemMenu: ({ payrollUuid: e, processed: l, payPeriod: a }) => {
159
+ label: e("payrollsListLabel"),
160
+ itemMenu: ({ payrollUuid: t, processed: l, payPeriod: a }) => {
152
161
  if (l)
153
162
  return null;
154
- const n = f === e, { fullPeriod: m } = k(
163
+ const o = f === t, { fullPeriod: d } = S(
155
164
  a?.startDate,
156
165
  a?.endDate
157
- ), c = q(/* @__PURE__ */ new Date()), S = c ? new Date(c) : null, b = a?.startDate ? new Date(a.startDate) : null;
158
- return y.length === 0 && S && b && S >= b ? /* @__PURE__ */ r(
159
- K,
166
+ ), c = z(/* @__PURE__ */ new Date()), k = c ? new Date(c) : null, b = a?.startDate ? new Date(a.startDate) : null;
167
+ return y.length === 0 && k && b && k >= b ? /* @__PURE__ */ r(
168
+ q,
160
169
  {
161
- isLoading: n,
162
- menuLabel: t("payrollMenuLabel"),
170
+ isLoading: o,
171
+ menuLabel: e("payrollMenuLabel"),
163
172
  items: [
164
173
  {
165
- label: t("skipPayrollCta"),
174
+ label: e("skipPayrollCta"),
166
175
  onClick: () => {
167
- F(e, m);
176
+ F(t, d);
168
177
  }
169
178
  }
170
179
  ]
@@ -176,19 +185,19 @@ const pe = ({
176
185
  /* @__PURE__ */ r(
177
186
  O,
178
187
  {
179
- isOpen: d.isOpen,
188
+ isOpen: m.isOpen,
180
189
  onClose: P,
181
- onPrimaryActionClick: j,
190
+ onPrimaryActionClick: R,
182
191
  isDestructive: !0,
183
- title: t("skipPayrollDialog.title", { payPeriod: d.payPeriod }),
184
- primaryActionLabel: t("skipPayrollDialog.confirmCta"),
185
- closeActionLabel: t("skipPayrollDialog.cancelCta"),
186
- children: t("skipPayrollDialog.body")
192
+ title: e("skipPayrollDialog.title", { payPeriod: m.payPeriod }),
193
+ primaryActionLabel: e("skipPayrollDialog.confirmCta"),
194
+ closeActionLabel: e("skipPayrollDialog.cancelCta"),
195
+ children: e("skipPayrollDialog.body")
187
196
  }
188
197
  )
189
198
  ] }) });
190
199
  };
191
200
  export {
192
- pe as PayrollListPresentation
201
+ gt as PayrollListPresentation
193
202
  };
194
203
  //# sourceMappingURL=PayrollListPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayScheduleList } from '@gusto/embedded-api/models/components/payschedulelist'\nimport { useState, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollBlockerAlerts } from '../PayrollBlocker/components/PayrollBlockerAlerts'\nimport type { PayrollType } from './types'\nimport styles from './PayrollListPresentation.module.scss'\nimport { DataView, Flex, HamburgerMenu } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport FeatureIconCheck from '@/assets/icons/feature-icon-check.svg?react'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\ninterface PresentationPayroll extends Payroll {\n payrollType: PayrollType\n}\n\ninterface PayrollListPresentationProps {\n onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onViewBlockers?: () => void\n payrolls: PresentationPayroll[]\n paySchedules: PayScheduleList[]\n showSkipSuccessAlert: boolean\n onDismissSkipSuccessAlert: () => void\n skippingPayrollId: string | null\n blockers: ApiPayrollBlocker[]\n}\n\nexport const PayrollListPresentation = ({\n onRunPayroll,\n onSubmitPayroll,\n onSkipPayroll,\n onViewBlockers,\n payrolls,\n paySchedules,\n showSkipSuccessAlert,\n onDismissSkipSuccessAlert,\n skippingPayrollId,\n blockers,\n}: PayrollListPresentationProps) => {\n const { Badge, Button, Dialog, Heading, Text, Alert } = useComponentContext()\n useI18n('Payroll.PayrollList')\n const { t } = useTranslation('Payroll.PayrollList')\n const dateFormatter = useDateFormatter()\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isDesktop = breakpoints.includes('small')\n const [skipPayrollDialogState, setSkipPayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenSkipDialog = (payrollId: string, payPeriod: string) => {\n setSkipPayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseSkipDialog = () => {\n setSkipPayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmSkipPayroll = () => {\n if (skipPayrollDialogState.payrollId) {\n onSkipPayroll({ payrollUuid: skipPayrollDialogState.payrollId })\n handleCloseSkipDialog()\n }\n }\n\n const formatPayPeriod = (startDate: string | undefined, endDate: string | undefined) => {\n const formattedStartDate = dateFormatter.formatShort(startDate)\n const formattedEndDate = dateFormatter.formatShortWithYear(endDate)\n\n return {\n startDate: formattedStartDate,\n endDate: formattedEndDate,\n fullPeriod: dateFormatter.formatPayPeriodRange(startDate, endDate, { useShortMonth: true }),\n }\n }\n\n return (\n <div ref={containerRef} className={styles.container}>\n <Flex flexDirection=\"column\" gap={16}>\n {showSkipSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('skipSuccessAlert')}\n onDismiss={onDismissSkipSuccessAlert}\n />\n </div>\n )}\n <PayrollBlockerAlerts blockers={blockers} onMultipleViewClick={onViewBlockers} />\n <Flex\n flexDirection={{ base: 'column', medium: 'row' }}\n justifyContent=\"space-between\"\n alignItems=\"flex-start\"\n gap={{ base: 12, medium: 24 }}\n >\n <Flex>\n <Heading as=\"h2\">{t('title')}</Heading>\n </Flex>\n </Flex>\n\n <DataView\n emptyState={() => (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={24}>\n <FeatureIconCheck />\n <Text>{t('emptyState')}</Text>\n </Flex>\n )}\n columns={[\n {\n render: ({ payPeriod }) => {\n const { startDate, endDate } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n return (\n <Flex flexDirection=\"column\" gap={0}>\n <Text>\n {startDate} - {endDate}\n </Text>\n <Text variant=\"supporting\">\n {paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.name ||\n paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.customName}\n </Text>\n </Flex>\n )\n },\n title: t('tableHeaders.0'),\n },\n {\n render: ({ payrollType }) => <Text>{t(`type.${payrollType}`)}</Text>,\n title: t('tableHeaders.1'),\n },\n {\n render: ({ checkDate }) => (\n <Text>{dateFormatter.formatShortWithWeekdayAndYear(checkDate)}</Text>\n ),\n title: t('tableHeaders.2'),\n },\n {\n title: t('tableHeaders.3'),\n render: ({ payrollDeadline }) => (\n <Text>{dateFormatter.formatShortWithWeekdayAndYear(payrollDeadline)}</Text>\n ),\n },\n {\n title: t('tableHeaders.4'),\n render: ({ processed }) => (\n <Badge>{processed ? t('status.processed') : t('status.unprocessed')}</Badge>\n ),\n },\n {\n title: '',\n render: ({ payrollUuid, calculatedAt, processed, payPeriod }) => {\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n\n const button = calculatedAt ? (\n <Button\n isLoading={isProcessingSkipPayroll}\n onClick={() => {\n onSubmitPayroll({ payrollUuid, payPeriod })\n }}\n title={t('submitPayrollCta')}\n variant=\"secondary\"\n >\n {t('submitPayrollCta')}\n </Button>\n ) : (\n <Button\n isLoading={isProcessingSkipPayroll}\n onClick={() => {\n onRunPayroll({ payrollUuid, payPeriod })\n }}\n title={t('runPayrollTitle')}\n variant=\"secondary\"\n >\n {t('runPayrollTitle')}\n </Button>\n )\n\n return isDesktop ? (\n button\n ) : (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={12}>\n {button}\n </Flex>\n )\n },\n },\n ]}\n data={payrolls}\n label={t('payrollsListLabel')}\n itemMenu={({ payrollUuid, processed, payPeriod }) => {\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n\n const { fullPeriod: payPeriodString } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n const todayDateString = formatDateToStringDate(new Date())\n const todayAtMidnight = todayDateString ? new Date(todayDateString) : null\n const payPeriodStartDate = payPeriod?.startDate ? new Date(payPeriod.startDate) : null\n\n const canSkipPayroll =\n blockers.length === 0 &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n if (!canSkipPayroll) {\n return null\n }\n\n return (\n <HamburgerMenu\n isLoading={isProcessingSkipPayroll}\n menuLabel={t('payrollMenuLabel')}\n items={[\n {\n label: t('skipPayrollCta'),\n onClick: () => {\n handleOpenSkipDialog(payrollUuid!, payPeriodString)\n },\n },\n ]}\n />\n )\n }}\n />\n <Dialog\n isOpen={skipPayrollDialogState.isOpen}\n onClose={handleCloseSkipDialog}\n onPrimaryActionClick={handleConfirmSkipPayroll}\n isDestructive={true}\n title={t('skipPayrollDialog.title', { payPeriod: skipPayrollDialogState.payPeriod })}\n primaryActionLabel={t('skipPayrollDialog.confirmCta')}\n closeActionLabel={t('skipPayrollDialog.cancelCta')}\n >\n {t('skipPayrollDialog.body')}\n </Dialog>\n </Flex>\n </div>\n )\n}\n"],"names":["PayrollListPresentation","onRunPayroll","onSubmitPayroll","onSkipPayroll","onViewBlockers","payrolls","paySchedules","showSkipSuccessAlert","onDismissSkipSuccessAlert","skippingPayrollId","blockers","Badge","Button","Dialog","Heading","Text","Alert","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","containerRef","useRef","isDesktop","useContainerBreakpoints","skipPayrollDialogState","setSkipPayrollDialogState","useState","handleOpenSkipDialog","payrollId","payPeriod","handleCloseSkipDialog","handleConfirmSkipPayroll","formatPayPeriod","startDate","endDate","formattedStartDate","formattedEndDate","jsx","styles","jsxs","Flex","PayrollBlockerAlerts","DataView","FeatureIconCheck","schedule","payrollType","checkDate","payrollDeadline","processed","payrollUuid","calculatedAt","isProcessingSkipPayroll","button","payPeriodString","todayDateString","formatDateToStringDate","todayAtMidnight","payPeriodStartDate","HamburgerMenu"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayScheduleList } from '@gusto/embedded-api/models/components/payschedulelist'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { useState, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollBlockerAlerts } from '../PayrollBlocker/components/PayrollBlockerAlerts'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollType } from '../helpers'\nimport styles from './PayrollListPresentation.module.scss'\nimport { DataView, Flex, HamburgerMenu } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport FeatureIconCheck from '@/assets/icons/feature-icon-check.svg?react'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\ninterface PayrollListPresentationProps {\n onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onViewBlockers?: () => void\n payrolls: Payroll[]\n paySchedules: PayScheduleList[]\n showSkipSuccessAlert: boolean\n onDismissSkipSuccessAlert: () => void\n skippingPayrollId: string | null\n blockers: ApiPayrollBlocker[]\n wireInRequests: WireInRequest[]\n}\n\nexport const PayrollListPresentation = ({\n onRunPayroll,\n onSubmitPayroll,\n onSkipPayroll,\n onViewBlockers,\n payrolls,\n paySchedules,\n showSkipSuccessAlert,\n onDismissSkipSuccessAlert,\n skippingPayrollId,\n blockers,\n wireInRequests,\n}: PayrollListPresentationProps) => {\n const { Button, Dialog, Heading, Text, Alert } = useComponentContext()\n useI18n('Payroll.PayrollList')\n const { t } = useTranslation('Payroll.PayrollList')\n const dateFormatter = useDateFormatter()\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isDesktop = breakpoints.includes('small')\n const [skipPayrollDialogState, setSkipPayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenSkipDialog = (payrollId: string, payPeriod: string) => {\n setSkipPayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseSkipDialog = () => {\n setSkipPayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmSkipPayroll = () => {\n if (skipPayrollDialogState.payrollId) {\n onSkipPayroll({ payrollUuid: skipPayrollDialogState.payrollId })\n handleCloseSkipDialog()\n }\n }\n\n const formatPayPeriod = (startDate: string | undefined, endDate: string | undefined) => {\n const formattedStartDate = dateFormatter.formatShort(startDate)\n const formattedEndDate = dateFormatter.formatShortWithYear(endDate)\n\n return {\n startDate: formattedStartDate,\n endDate: formattedEndDate,\n fullPeriod: dateFormatter.formatPayPeriodRange(startDate, endDate, { useShortMonth: true }),\n }\n }\n\n return (\n <div ref={containerRef} className={styles.container}>\n <Flex flexDirection=\"column\" gap={16}>\n {showSkipSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('skipSuccessAlert')}\n onDismiss={onDismissSkipSuccessAlert}\n />\n </div>\n )}\n <PayrollBlockerAlerts blockers={blockers} onMultipleViewClick={onViewBlockers} />\n <Flex\n flexDirection={{ base: 'column', medium: 'row' }}\n justifyContent=\"space-between\"\n alignItems=\"flex-start\"\n gap={{ base: 12, medium: 24 }}\n >\n <Flex>\n <Heading as=\"h2\">{t('title')}</Heading>\n </Flex>\n </Flex>\n\n <DataView\n emptyState={() => (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={24}>\n <FeatureIconCheck />\n <Text>{t('emptyState')}</Text>\n </Flex>\n )}\n data={payrolls}\n columns={[\n {\n render: ({ payPeriod }) => {\n const { startDate, endDate } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n return (\n <Flex flexDirection=\"column\" gap={0}>\n <Text>\n {startDate} - {endDate}\n </Text>\n <Text variant=\"supporting\">\n {paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.name ||\n paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.customName}\n </Text>\n </Flex>\n )\n },\n title: t('tableHeaders.0'),\n },\n {\n render: payroll => <Text>{t(`type.${getPayrollType(payroll)}`)}</Text>,\n title: t('tableHeaders.1'),\n },\n {\n render: ({ checkDate }) => (\n <Text>{dateFormatter.formatShortWithWeekdayAndYear(checkDate)}</Text>\n ),\n title: t('tableHeaders.2'),\n },\n {\n title: t('tableHeaders.3'),\n render: ({ payrollDeadline }) => (\n <Text>{dateFormatter.formatShortWithWeekdayAndYear(payrollDeadline)}</Text>\n ),\n },\n {\n title: t('tableHeaders.4'),\n render: payroll => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === payroll.payrollUuid,\n )\n return <PayrollStatusBadges payroll={payroll} wireInRequest={wireInRequest} />\n },\n },\n {\n title: '',\n render: ({ payrollUuid, calculatedAt, processed, payPeriod }) => {\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n\n const button = calculatedAt ? (\n <Button\n isLoading={isProcessingSkipPayroll}\n onClick={() => {\n onSubmitPayroll({ payrollUuid, payPeriod })\n }}\n title={t('submitPayrollCta')}\n variant=\"secondary\"\n >\n {t('submitPayrollCta')}\n </Button>\n ) : (\n <Button\n isLoading={isProcessingSkipPayroll}\n onClick={() => {\n onRunPayroll({ payrollUuid, payPeriod })\n }}\n title={t('runPayrollTitle')}\n variant=\"secondary\"\n >\n {t('runPayrollTitle')}\n </Button>\n )\n\n return isDesktop ? (\n button\n ) : (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={12}>\n {button}\n </Flex>\n )\n },\n },\n ]}\n label={t('payrollsListLabel')}\n itemMenu={({ payrollUuid, processed, payPeriod }) => {\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n\n const { fullPeriod: payPeriodString } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n const todayDateString = formatDateToStringDate(new Date())\n const todayAtMidnight = todayDateString ? new Date(todayDateString) : null\n const payPeriodStartDate = payPeriod?.startDate ? new Date(payPeriod.startDate) : null\n\n const canSkipPayroll =\n blockers.length === 0 &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n if (!canSkipPayroll) {\n return null\n }\n\n return (\n <HamburgerMenu\n isLoading={isProcessingSkipPayroll}\n menuLabel={t('payrollMenuLabel')}\n items={[\n {\n label: t('skipPayrollCta'),\n onClick: () => {\n handleOpenSkipDialog(payrollUuid!, payPeriodString)\n },\n },\n ]}\n />\n )\n }}\n />\n <Dialog\n isOpen={skipPayrollDialogState.isOpen}\n onClose={handleCloseSkipDialog}\n onPrimaryActionClick={handleConfirmSkipPayroll}\n isDestructive={true}\n title={t('skipPayrollDialog.title', { payPeriod: skipPayrollDialogState.payPeriod })}\n primaryActionLabel={t('skipPayrollDialog.confirmCta')}\n closeActionLabel={t('skipPayrollDialog.cancelCta')}\n >\n {t('skipPayrollDialog.body')}\n </Dialog>\n </Flex>\n </div>\n )\n}\n"],"names":["PayrollListPresentation","onRunPayroll","onSubmitPayroll","onSkipPayroll","onViewBlockers","payrolls","paySchedules","showSkipSuccessAlert","onDismissSkipSuccessAlert","skippingPayrollId","blockers","wireInRequests","Button","Dialog","Heading","Text","Alert","useComponentContext","useI18n","t","useTranslation","dateFormatter","useDateFormatter","containerRef","useRef","isDesktop","useContainerBreakpoints","skipPayrollDialogState","setSkipPayrollDialogState","useState","handleOpenSkipDialog","payrollId","payPeriod","handleCloseSkipDialog","handleConfirmSkipPayroll","formatPayPeriod","startDate","endDate","formattedStartDate","formattedEndDate","jsx","styles","jsxs","Flex","PayrollBlockerAlerts","DataView","FeatureIconCheck","schedule","payroll","getPayrollType","checkDate","payrollDeadline","wireInRequest","wire","PayrollStatusBadges","payrollUuid","calculatedAt","processed","isProcessingSkipPayroll","button","payPeriodString","todayDateString","formatDateToStringDate","todayAtMidnight","payPeriodStartDate","HamburgerMenu"],"mappings":"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"}
@@ -5,13 +5,13 @@ import { calculateTotalPayroll as me } from "../helpers.js";
5
5
  import ue from "./PayrollOverviewPresentation.module.scss.js";
6
6
  import { Flex as m, FlexItem as F } from "../../Common/Flex/Flex.js";
7
7
  import "classnames";
8
- import { useContainerBreakpoints as be } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
8
+ import { PAYMENT_METHODS as be, FlsaStatus as j, compensationTypeLabels as x, PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES as G } from "../../../shared/constants.js";
9
9
  import { useComponentContext as pe } from "../../../contexts/ComponentAdapter/useComponentContext.js";
10
- import { useI18n as ye } from "../../../i18n/I18n.js";
11
- import { useDateFormatter as he } from "../../../hooks/useDateFormatter.js";
12
- import fe from "../../../hooks/useNumberFormatter.js";
10
+ import { useContainerBreakpoints as ye } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
11
+ import { useI18n as he } from "../../../i18n/I18n.js";
12
+ import { useDateFormatter as fe } from "../../../hooks/useDateFormatter.js";
13
+ import Te from "../../../hooks/useNumberFormatter.js";
13
14
  import { firstLastName as E } from "../../../helpers/formattedStrings.js";
14
- import { PAYMENT_METHODS as Te, FlsaStatus as j, compensationTypeLabels as x, PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES as G } from "../../../shared/constants.js";
15
15
  import ge from "../../../assets/icons/download-cloud.svg.js";
16
16
  import { useLoadingIndicator as He } from "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
17
17
  import { FastAchThresholdExceeded as xe } from "./SubmissionBlockers/FastAchThresholdExceeded.js";
@@ -36,8 +36,8 @@ const Ce = (u, P) => u?.startDate && u.endDate ? P.formatPayPeriod(u.startDate,
36
36
  wireInConfirmationRequest: J
37
37
  }) => {
38
38
  const { Alert: S, Button: T, ButtonIcon: Q, Dialog: Z, Heading: N, Text: a, Tabs: ee, LoadingSpinner: te } = pe();
39
- ye("Payroll.PayrollOverview");
40
- const b = he(), { t: r } = se("Payroll.PayrollOverview"), o = fe("currency"), [re, ae] = W("companyPays"), [M, _] = W(!1), { LoadingIndicator: ne } = He(), A = ce(null), d = be({ ref: A }).includes("small"), I = me(i), le = i.payrollStatusMeta?.expectedDebitTime ?? i.payrollDeadline, V = (e) => e.taxes?.reduce(
39
+ he("Payroll.PayrollOverview");
40
+ const b = fe(), { t: r } = se("Payroll.PayrollOverview"), o = Te("currency"), [re, ae] = W("companyPays"), [M, _] = W(!1), { LoadingIndicator: ne } = He(), A = ce(null), d = ye({ ref: A }).includes("small"), I = me(i), le = i.payrollStatusMeta?.expectedDebitTime ?? i.payrollDeadline, V = (e) => e.taxes?.reduce(
41
41
  (n, l) => l.employer ? n + l.amount : n,
42
42
  0
43
43
  ) ?? 0, R = (e) => e.benefits?.reduce(
@@ -56,7 +56,7 @@ const Ce = (u, P) => u?.startDate && u.endDate ? P.formatPayPeriod(u.startDate,
56
56
  },
57
57
  {}
58
58
  ) || {}, U = (e) => e.paidTimeOff?.reduce((n, l) => n + Number(l.hours || 0), 0) ?? 0, B = i.employeeCompensations?.reduce(
59
- (e, n) => !n.excluded && n.paymentMethod === Te.check ? e + 1 : e,
59
+ (e, n) => !n.excluded && n.paymentMethod === be.check ? e + 1 : e,
60
60
  0
61
61
  ) ?? 0, Y = [
62
62
  {
@@ -2,10 +2,12 @@ import { jsx as t, jsxs as r } from "react/jsx-runtime";
2
2
  import { useTranslation as b } from "react-i18next";
3
3
  import { Flex as a } from "../../../Common/Flex/Flex.js";
4
4
  import "classnames";
5
+ import "../../../../shared/constants.js";
5
6
  import { useComponentContext as f } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
7
+ import "react";
6
8
  import { useDateFormatter as x } from "../../../../hooks/useDateFormatter.js";
7
9
  import k from "../../../../assets/icons/icon-zap-fast.svg.js";
8
- const T = ({
10
+ const C = ({
9
11
  blocker: l,
10
12
  selectedValue: d,
11
13
  onUnblockOptionChange: n
@@ -45,6 +47,6 @@ const T = ({
45
47
  ] }) });
46
48
  };
47
49
  export {
48
- T as FastAchThresholdExceeded
50
+ C as FastAchThresholdExceeded
49
51
  };
50
52
  //# sourceMappingURL=FastAchThresholdExceeded.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FastAchThresholdExceeded.js","sources":["../../../../../src/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { PayrollSubmissionBlockersType } from '@gusto/embedded-api/models/components/payrollsubmissionblockerstype'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport IconFast from '@/assets/icons/icon-zap-fast.svg?react'\n\ninterface FastAchThresholdExceededProps {\n blocker: PayrollSubmissionBlockersType\n selectedValue?: string\n onUnblockOptionChange: (blockerType: string, value: string) => void\n}\n\nexport const FastAchThresholdExceeded = ({\n blocker,\n selectedValue,\n onUnblockOptionChange,\n}: FastAchThresholdExceededProps) => {\n const { t } = useTranslation('Payroll.PayrollOverview')\n const { Banner, Text, RadioGroup, Badge } = useComponentContext()\n const dateFormatter = useDateFormatter()\n\n return (\n <Banner status=\"error\" title={t('submissionBlockers.fast_ach_threshold_exceeded.title')}>\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('submissionBlockers.fast_ach_threshold_exceeded.description')}</Text>\n <RadioGroup\n label={t('submissionBlockers.fast_ach_threshold_exceeded.fundingOptionsLabel')}\n shouldVisuallyHideLabel\n options={\n blocker.unblockOptions?.map(option => {\n const isWire = option.unblockType === 'wire_in'\n const label = isWire\n ? t('submissionBlockers.fast_ach_threshold_exceeded.wireLabel')\n : t('submissionBlockers.fast_ach_threshold_exceeded.directDepositLabel')\n const description = isWire\n ? t('submissionBlockers.fast_ach_threshold_exceeded.wireDescription')\n : t('submissionBlockers.fast_ach_threshold_exceeded.directDepositDescription')\n\n return {\n value: option.unblockType || '',\n label: (\n <Flex alignItems=\"center\" gap={8}>\n <Text weight=\"semibold\">{label}</Text>\n {isWire && (\n <Badge status=\"success\">\n <IconFast aria-hidden />{' '}\n {t('submissionBlockers.fast_ach_threshold_exceeded.wireFastestBadge')}\n </Badge>\n )}\n {option.checkDate && (\n <Badge status=\"info\">\n {t('submissionBlockers.fast_ach_threshold_exceeded.employeePayDate', {\n date: dateFormatter.formatShortWithYear(option.checkDate),\n })}\n </Badge>\n )}\n </Flex>\n ),\n description,\n }\n }) || []\n }\n value={selectedValue}\n onChange={value => {\n onUnblockOptionChange('fast_ach_threshold_exceeded', value)\n }}\n />\n </Flex>\n </Banner>\n )\n}\n"],"names":["FastAchThresholdExceeded","blocker","selectedValue","onUnblockOptionChange","t","useTranslation","Banner","Text","RadioGroup","Badge","useComponentContext","dateFormatter","useDateFormatter","jsx","jsxs","Flex","option","isWire","label","description","IconFast","value"],"mappings":";;;;;;;AAaO,MAAMA,IAA2B,CAAC;AAAA,EACvC,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,uBAAAC;AACF,MAAqC;AACnC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB,GAChD,EAAE,QAAAC,GAAQ,MAAAC,GAAM,YAAAC,GAAY,OAAAC,EAAA,IAAUC,EAAA,GACtCC,IAAgBC,EAAA;AAEtB,SACE,gBAAAC,EAACP,GAAA,EAAO,QAAO,SAAQ,OAAOF,EAAE,sDAAsD,GACpF,UAAA,gBAAAU,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAF,EAACN,GAAA,EAAM,UAAAH,EAAE,4DAA4D,EAAA,CAAE;AAAA,IACvE,gBAAAS;AAAA,MAACL;AAAA,MAAA;AAAA,QACC,OAAOJ,EAAE,oEAAoE;AAAA,QAC7E,yBAAuB;AAAA,QACvB,SACEH,EAAQ,gBAAgB,IAAI,CAAAe,MAAU;AACpC,gBAAMC,IAASD,EAAO,gBAAgB,WAChCE,IACFd,EADUa,IACR,6DACA,mEAD0D,GAE1DE,IACFf,EADgBa,IACd,mEACA,yEADgE;AAGtE,iBAAO;AAAA,YACL,OAAOD,EAAO,eAAe;AAAA,YAC7B,OACE,gBAAAF,EAACC,GAAA,EAAK,YAAW,UAAS,KAAK,GAC7B,UAAA;AAAA,cAAA,gBAAAF,EAACN,GAAA,EAAK,QAAO,YAAY,UAAAW,GAAM;AAAA,cAC9BD,KACC,gBAAAH,EAACL,GAAA,EAAM,QAAO,WACZ,UAAA;AAAA,gBAAA,gBAAAI,EAACO,GAAA,EAAS,eAAW,GAAA,CAAC;AAAA,gBAAG;AAAA,gBACxBhB,EAAE,iEAAiE;AAAA,cAAA,GACtE;AAAA,cAEDY,EAAO,aACN,gBAAAH,EAACJ,KAAM,QAAO,QACX,YAAE,kEAAkE;AAAA,gBACnE,MAAME,EAAc,oBAAoBK,EAAO,SAAS;AAAA,cAAA,CACzD,EAAA,CACH;AAAA,YAAA,GAEJ;AAAA,YAEF,aAAAG;AAAA,UAAA;AAAA,QAEJ,CAAC,KAAK,CAAA;AAAA,QAER,OAAOjB;AAAA,QACP,UAAU,CAAAmB,MAAS;AACjB,UAAAlB,EAAsB,+BAA+BkB,CAAK;AAAA,QAC5D;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EAAA,CACF,EAAA,CACF;AAEJ;"}
1
+ {"version":3,"file":"FastAchThresholdExceeded.js","sources":["../../../../../src/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { PayrollSubmissionBlockersType } from '@gusto/embedded-api/models/components/payrollsubmissionblockerstype'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport IconFast from '@/assets/icons/icon-zap-fast.svg?react'\n\ninterface FastAchThresholdExceededProps {\n blocker: PayrollSubmissionBlockersType\n selectedValue?: string\n onUnblockOptionChange: (blockerType: string, value: string) => void\n}\n\nexport const FastAchThresholdExceeded = ({\n blocker,\n selectedValue,\n onUnblockOptionChange,\n}: FastAchThresholdExceededProps) => {\n const { t } = useTranslation('Payroll.PayrollOverview')\n const { Banner, Text, RadioGroup, Badge } = useComponentContext()\n const dateFormatter = useDateFormatter()\n\n return (\n <Banner status=\"error\" title={t('submissionBlockers.fast_ach_threshold_exceeded.title')}>\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('submissionBlockers.fast_ach_threshold_exceeded.description')}</Text>\n <RadioGroup\n label={t('submissionBlockers.fast_ach_threshold_exceeded.fundingOptionsLabel')}\n shouldVisuallyHideLabel\n options={\n blocker.unblockOptions?.map(option => {\n const isWire = option.unblockType === 'wire_in'\n const label = isWire\n ? t('submissionBlockers.fast_ach_threshold_exceeded.wireLabel')\n : t('submissionBlockers.fast_ach_threshold_exceeded.directDepositLabel')\n const description = isWire\n ? t('submissionBlockers.fast_ach_threshold_exceeded.wireDescription')\n : t('submissionBlockers.fast_ach_threshold_exceeded.directDepositDescription')\n\n return {\n value: option.unblockType || '',\n label: (\n <Flex alignItems=\"center\" gap={8}>\n <Text weight=\"semibold\">{label}</Text>\n {isWire && (\n <Badge status=\"success\">\n <IconFast aria-hidden />{' '}\n {t('submissionBlockers.fast_ach_threshold_exceeded.wireFastestBadge')}\n </Badge>\n )}\n {option.checkDate && (\n <Badge status=\"info\">\n {t('submissionBlockers.fast_ach_threshold_exceeded.employeePayDate', {\n date: dateFormatter.formatShortWithYear(option.checkDate),\n })}\n </Badge>\n )}\n </Flex>\n ),\n description,\n }\n }) || []\n }\n value={selectedValue}\n onChange={value => {\n onUnblockOptionChange('fast_ach_threshold_exceeded', value)\n }}\n />\n </Flex>\n </Banner>\n )\n}\n"],"names":["FastAchThresholdExceeded","blocker","selectedValue","onUnblockOptionChange","t","useTranslation","Banner","Text","RadioGroup","Badge","useComponentContext","dateFormatter","useDateFormatter","jsx","jsxs","Flex","option","isWire","label","description","IconFast","value"],"mappings":";;;;;;;;;AAaO,MAAMA,IAA2B,CAAC;AAAA,EACvC,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,uBAAAC;AACF,MAAqC;AACnC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB,GAChD,EAAE,QAAAC,GAAQ,MAAAC,GAAM,YAAAC,GAAY,OAAAC,EAAA,IAAUC,EAAA,GACtCC,IAAgBC,EAAA;AAEtB,SACE,gBAAAC,EAACP,GAAA,EAAO,QAAO,SAAQ,OAAOF,EAAE,sDAAsD,GACpF,UAAA,gBAAAU,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAF,EAACN,GAAA,EAAM,UAAAH,EAAE,4DAA4D,EAAA,CAAE;AAAA,IACvE,gBAAAS;AAAA,MAACL;AAAA,MAAA;AAAA,QACC,OAAOJ,EAAE,oEAAoE;AAAA,QAC7E,yBAAuB;AAAA,QACvB,SACEH,EAAQ,gBAAgB,IAAI,CAAAe,MAAU;AACpC,gBAAMC,IAASD,EAAO,gBAAgB,WAChCE,IACFd,EADUa,IACR,6DACA,mEAD0D,GAE1DE,IACFf,EADgBa,IACd,mEACA,yEADgE;AAGtE,iBAAO;AAAA,YACL,OAAOD,EAAO,eAAe;AAAA,YAC7B,OACE,gBAAAF,EAACC,GAAA,EAAK,YAAW,UAAS,KAAK,GAC7B,UAAA;AAAA,cAAA,gBAAAF,EAACN,GAAA,EAAK,QAAO,YAAY,UAAAW,GAAM;AAAA,cAC9BD,KACC,gBAAAH,EAACL,GAAA,EAAM,QAAO,WACZ,UAAA;AAAA,gBAAA,gBAAAI,EAACO,GAAA,EAAS,eAAW,GAAA,CAAC;AAAA,gBAAG;AAAA,gBACxBhB,EAAE,iEAAiE;AAAA,cAAA,GACtE;AAAA,cAEDY,EAAO,aACN,gBAAAH,EAACJ,KAAM,QAAO,QACX,YAAE,kEAAkE;AAAA,gBACnE,MAAME,EAAc,oBAAoBK,EAAO,SAAS;AAAA,cAAA,CACzD,EAAA,CACH;AAAA,YAAA,GAEJ;AAAA,YAEF,aAAAG;AAAA,UAAA;AAAA,QAEJ,CAAC,KAAK,CAAA;AAAA,QAER,OAAOjB;AAAA,QACP,UAAU,CAAAmB,MAAS;AACjB,UAAAlB,EAAsB,+BAA+BkB,CAAK;AAAA,QAC5D;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EAAA,CACF,EAAA,CACF;AAEJ;"}
@@ -4,6 +4,7 @@ import { useTranslation as R } from "react-i18next";
4
4
  import d from "classnames";
5
5
  import i from "./PayrollReceiptsPresentation.module.scss.js";
6
6
  import { Flex as a } from "../../Common/Flex/Flex.js";
7
+ import "../../../shared/constants.js";
7
8
  import { useComponentContext as L } from "../../../contexts/ComponentAdapter/useComponentContext.js";
8
9
  import { formatNumberAsCurrency as r } from "../../../helpers/formattedStrings.js";
9
10
  import { useI18n as I } from "../../../i18n/I18n.js";
@@ -11,7 +12,7 @@ import { useContainerBreakpoints as S } from "../../../hooks/useContainerBreakpo
11
12
  import z from "../../../assets/icons/receipt-check.svg.js";
12
13
  import { DataTable as b } from "../../Common/DataView/DataTable/DataTable.js";
13
14
  import { DataView as h } from "../../Common/DataView/DataView.js";
14
- const K = ({ receiptData: n }) => {
15
+ const Q = ({ receiptData: n }) => {
15
16
  const { Heading: p, Text: o } = L();
16
17
  I("Payroll.PayrollReceipts");
17
18
  const { t } = R("Payroll.PayrollReceipts"), u = P(null), c = !S({ ref: u }).includes("small"), y = (l) => `${l.employeeFirstName || ""} ${l.employeeLastName || ""}`.trim(), g = () => (n.employeeCompensations || []).reduce(
@@ -214,6 +215,6 @@ const K = ({ receiptData: n }) => {
214
215
  ] }) });
215
216
  };
216
217
  export {
217
- K as PayrollReceiptsPresentation
218
+ Q as PayrollReceiptsPresentation
218
219
  };
219
220
  //# sourceMappingURL=PayrollReceiptsPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollReceiptsPresentation.js","sources":["../../../../src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport type {\n PayrollReceipt,\n Taxes as TaxBreakdownItem,\n PayrollReceiptEmployeeCompensations as EmployeeBreakdownItem,\n} from '@gusto/embedded-api/models/components/payrollreceipt'\nimport styles from './PayrollReceiptsPresentation.module.scss'\nimport { DataView, DataTable, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useContainerBreakpoints } from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\nimport ReceiptCheck from '@/assets/icons/receipt-check.svg?react'\n\ninterface PayrollReceiptsPresentationProps {\n receiptData: PayrollReceipt\n}\n\nexport const PayrollReceiptsPresentation = ({ receiptData }: PayrollReceiptsPresentationProps) => {\n const { Heading, Text } = useComponentContext()\n useI18n('Payroll.PayrollReceipts')\n const { t } = useTranslation('Payroll.PayrollReceipts')\n\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isMobile = !breakpoints.includes('small')\n\n // Helper to get employee full name\n const getEmployeeFullName = (emp: EmployeeBreakdownItem) =>\n `${emp.employeeFirstName || ''} ${emp.employeeLastName || ''}`.trim()\n\n const getTotalChildSupport = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.childSupportGarnishment || '0'),\n 0,\n )\n\n const getTotalReimbursements = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.totalReimbursement || '0'),\n 0,\n )\n\n const getTotalNetPay = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.netPay || '0'),\n 0,\n )\n\n const getTotalTaxes = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.totalTax || '0'),\n 0,\n )\n\n const breakdownData = [\n {\n label: t('breakdown.directDeposits'),\n amount: parseFloat(receiptData.totals?.netPayDebit || '0'),\n },\n {\n label: t('breakdown.reimbursements'),\n amount: parseFloat(receiptData.totals?.reimbursementDebit || '0'),\n },\n {\n label: t('breakdown.garnishments'),\n amount: parseFloat(receiptData.totals?.childSupportDebit || '0'),\n },\n { label: t('breakdown.taxes'), amount: parseFloat(receiptData.totals?.taxDebit || '0') },\n ]\n\n const receiptDetailsConfig = [\n {\n label: t('receipt.receiptId'),\n value: receiptData.payrollUuid || '',\n },\n {\n label: t('receipt.from'),\n value: receiptData.nameOfSender || '',\n },\n {\n label: t('receipt.to'),\n value: receiptData.nameOfRecipient || 'Payroll Recipients',\n },\n {\n label: t('receipt.debitDate'),\n value: receiptData.debitDate || '',\n },\n ]\n\n const renderReceiptHeader = () => (\n <div className={classNames(styles.receiptHeader, isMobile && styles.receiptHeaderMobile)}>\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={16}>\n <div className={styles.receiptIcon}>\n <ReceiptCheck className={styles.checkmarkIcon} />\n </div>\n\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <Text size=\"sm\" variant=\"supporting\">\n {t('receipt.totalLabel')}\n </Text>\n <Heading as=\"h1\" styledAs=\"h2\" className={styles.totalAmount}>\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.companyDebit || '0'))}\n </Heading>\n </Flex>\n </Flex>\n\n <div className={styles.receiptDetailsTable}>\n <DataView\n label={t('receipt.detailsLabel')}\n variant=\"minimal\"\n breakAt=\"small\"\n breakpoints={{\n base: '0rem',\n small: '22rem',\n }}\n columns={[\n {\n title: '',\n render: (item: { label: string; value: string }) => (\n <Text size=\"sm\" variant=\"supporting\">\n {item.label}\n </Text>\n ),\n },\n {\n title: '',\n render: (item: { label: string; value: string }) => (\n <Text size=\"sm\">{item.value}</Text>\n ),\n },\n ]}\n data={receiptDetailsConfig}\n />\n </div>\n\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={12}>\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.disclaimer, isMobile && styles.textMobile)}\n >\n {receiptData.recipientNotice}\n </Text>\n\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.companyInfo, isMobile && styles.textMobile)}\n >\n {receiptData.license}\n </Text>\n\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.address, isMobile && styles.textMobile)}\n >\n {receiptData.licensee &&\n `${receiptData.licensee.address || ''}, ${receiptData.licensee.city || ''}, ${receiptData.licensee.state || ''} ${receiptData.licensee.postalCode || ''}`}\n </Text>\n </Flex>\n </Flex>\n </div>\n )\n\n const renderBreakdownSection = () => (\n <Flex flexDirection=\"column\" gap={16}>\n <DataTable\n label={t('sections.debitedLabel')}\n columns={[\n {\n title: t('sections.debitedLabel'),\n render: (item: { label: string; amount: number }) => <Text>{item.label}</Text>,\n },\n {\n title: t('breakdown.amount'),\n render: (item: { label: string; amount: number }) => (\n <Text>{formatNumberAsCurrency(item.amount)}</Text>\n ),\n },\n ]}\n data={breakdownData}\n footer={() => ({\n 'column-0': <Text weight=\"semibold\">{t('breakdown.totals')}</Text>,\n 'column-1': (\n <Text weight=\"semibold\">\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.companyDebit || '0'))}\n </Text>\n ),\n })}\n />\n </Flex>\n )\n\n const renderTaxBreakdown = () => (\n <Flex flexDirection=\"column\" gap={16}>\n <DataTable\n label={t('sections.taxLabel')}\n columns={[\n {\n title: t('sections.taxLabel'),\n render: (tax: TaxBreakdownItem) => <Text>{tax.name}</Text>,\n },\n {\n title: t('tax.amount'),\n render: (tax: TaxBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(tax.amount || '0'))}</Text>\n ),\n },\n ]}\n data={receiptData.taxes || []}\n footer={() => ({\n 'column-0': <Text weight=\"semibold\">{t('breakdown.totals')}</Text>,\n 'column-1': (\n <Text weight=\"semibold\">\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.taxDebit || '0'))}\n </Text>\n ),\n })}\n />\n </Flex>\n )\n\n const renderEmployeeBreakdown = () => (\n <Flex flexDirection=\"column\" gap={16}>\n {isMobile && <Heading as=\"h2\">{t('sections.employeesLabel')}</Heading>}\n <DataView\n label={t('sections.employeesLabel')}\n columns={[\n {\n title: t('employee.name'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{getEmployeeFullName(employee)}</Text>\n ),\n },\n {\n title: t('employee.paymentMethod'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{employee.paymentMethod || 'N/A'}</Text>\n ),\n },\n {\n title: t('employee.childSupport'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>\n {formatNumberAsCurrency(parseFloat(employee.childSupportGarnishment || '0'))}\n </Text>\n ),\n },\n {\n title: t('employee.reimbursement'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.totalReimbursement || '0'))}</Text>\n ),\n },\n {\n title: t('employee.totalTaxes'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.totalTax || '0'))}</Text>\n ),\n },\n {\n title: t('employee.netPay'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.netPay || '0'))}</Text>\n ),\n },\n ]}\n data={receiptData.employeeCompensations || []}\n footer={() => ({\n 'column-0': (\n <Flex flexDirection=\"column\" gap={4}>\n <Text weight=\"semibold\">{t('breakdown.totals')}</Text>\n <Text size=\"sm\" variant=\"supporting\">\n {t('employee.totalEmployees', {\n count: receiptData.employeeCompensations?.length || 0,\n })}\n </Text>\n </Flex>\n ),\n 'column-1': <Text>{'\\u00A0'}</Text>,\n 'column-2': (\n <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalChildSupport())}</Text>\n ),\n 'column-3': (\n <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalReimbursements())}</Text>\n ),\n 'column-4': <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalTaxes())}</Text>,\n 'column-5': <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalNetPay())}</Text>,\n })}\n />\n </Flex>\n )\n\n return (\n <div className={styles.container} ref={containerRef}>\n <Flex flexDirection=\"column\" gap={24}>\n {renderReceiptHeader()}\n {renderBreakdownSection()}\n {renderTaxBreakdown()}\n {renderEmployeeBreakdown()}\n </Flex>\n </div>\n )\n}\n"],"names":["PayrollReceiptsPresentation","receiptData","Heading","Text","useComponentContext","useI18n","useTranslation","containerRef","useRef","isMobile","useContainerBreakpoints","getEmployeeFullName","emp","getTotalChildSupport","sum","getTotalReimbursements","getTotalNetPay","getTotalTaxes","breakdownData","receiptDetailsConfig","renderReceiptHeader","jsx","classNames","styles","jsxs","Flex","ReceiptCheck","formatNumberAsCurrency","DataView","item","renderBreakdownSection","DataTable","renderTaxBreakdown","tax","renderEmployeeBreakdown","employee"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollReceiptsPresentation.js","sources":["../../../../src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport type {\n PayrollReceipt,\n Taxes as TaxBreakdownItem,\n PayrollReceiptEmployeeCompensations as EmployeeBreakdownItem,\n} from '@gusto/embedded-api/models/components/payrollreceipt'\nimport styles from './PayrollReceiptsPresentation.module.scss'\nimport { DataView, DataTable, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useContainerBreakpoints } from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\nimport ReceiptCheck from '@/assets/icons/receipt-check.svg?react'\n\ninterface PayrollReceiptsPresentationProps {\n receiptData: PayrollReceipt\n}\n\nexport const PayrollReceiptsPresentation = ({ receiptData }: PayrollReceiptsPresentationProps) => {\n const { Heading, Text } = useComponentContext()\n useI18n('Payroll.PayrollReceipts')\n const { t } = useTranslation('Payroll.PayrollReceipts')\n\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isMobile = !breakpoints.includes('small')\n\n // Helper to get employee full name\n const getEmployeeFullName = (emp: EmployeeBreakdownItem) =>\n `${emp.employeeFirstName || ''} ${emp.employeeLastName || ''}`.trim()\n\n const getTotalChildSupport = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.childSupportGarnishment || '0'),\n 0,\n )\n\n const getTotalReimbursements = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.totalReimbursement || '0'),\n 0,\n )\n\n const getTotalNetPay = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.netPay || '0'),\n 0,\n )\n\n const getTotalTaxes = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.totalTax || '0'),\n 0,\n )\n\n const breakdownData = [\n {\n label: t('breakdown.directDeposits'),\n amount: parseFloat(receiptData.totals?.netPayDebit || '0'),\n },\n {\n label: t('breakdown.reimbursements'),\n amount: parseFloat(receiptData.totals?.reimbursementDebit || '0'),\n },\n {\n label: t('breakdown.garnishments'),\n amount: parseFloat(receiptData.totals?.childSupportDebit || '0'),\n },\n { label: t('breakdown.taxes'), amount: parseFloat(receiptData.totals?.taxDebit || '0') },\n ]\n\n const receiptDetailsConfig = [\n {\n label: t('receipt.receiptId'),\n value: receiptData.payrollUuid || '',\n },\n {\n label: t('receipt.from'),\n value: receiptData.nameOfSender || '',\n },\n {\n label: t('receipt.to'),\n value: receiptData.nameOfRecipient || 'Payroll Recipients',\n },\n {\n label: t('receipt.debitDate'),\n value: receiptData.debitDate || '',\n },\n ]\n\n const renderReceiptHeader = () => (\n <div className={classNames(styles.receiptHeader, isMobile && styles.receiptHeaderMobile)}>\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={16}>\n <div className={styles.receiptIcon}>\n <ReceiptCheck className={styles.checkmarkIcon} />\n </div>\n\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <Text size=\"sm\" variant=\"supporting\">\n {t('receipt.totalLabel')}\n </Text>\n <Heading as=\"h1\" styledAs=\"h2\" className={styles.totalAmount}>\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.companyDebit || '0'))}\n </Heading>\n </Flex>\n </Flex>\n\n <div className={styles.receiptDetailsTable}>\n <DataView\n label={t('receipt.detailsLabel')}\n variant=\"minimal\"\n breakAt=\"small\"\n breakpoints={{\n base: '0rem',\n small: '22rem',\n }}\n columns={[\n {\n title: '',\n render: (item: { label: string; value: string }) => (\n <Text size=\"sm\" variant=\"supporting\">\n {item.label}\n </Text>\n ),\n },\n {\n title: '',\n render: (item: { label: string; value: string }) => (\n <Text size=\"sm\">{item.value}</Text>\n ),\n },\n ]}\n data={receiptDetailsConfig}\n />\n </div>\n\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={12}>\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.disclaimer, isMobile && styles.textMobile)}\n >\n {receiptData.recipientNotice}\n </Text>\n\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.companyInfo, isMobile && styles.textMobile)}\n >\n {receiptData.license}\n </Text>\n\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.address, isMobile && styles.textMobile)}\n >\n {receiptData.licensee &&\n `${receiptData.licensee.address || ''}, ${receiptData.licensee.city || ''}, ${receiptData.licensee.state || ''} ${receiptData.licensee.postalCode || ''}`}\n </Text>\n </Flex>\n </Flex>\n </div>\n )\n\n const renderBreakdownSection = () => (\n <Flex flexDirection=\"column\" gap={16}>\n <DataTable\n label={t('sections.debitedLabel')}\n columns={[\n {\n title: t('sections.debitedLabel'),\n render: (item: { label: string; amount: number }) => <Text>{item.label}</Text>,\n },\n {\n title: t('breakdown.amount'),\n render: (item: { label: string; amount: number }) => (\n <Text>{formatNumberAsCurrency(item.amount)}</Text>\n ),\n },\n ]}\n data={breakdownData}\n footer={() => ({\n 'column-0': <Text weight=\"semibold\">{t('breakdown.totals')}</Text>,\n 'column-1': (\n <Text weight=\"semibold\">\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.companyDebit || '0'))}\n </Text>\n ),\n })}\n />\n </Flex>\n )\n\n const renderTaxBreakdown = () => (\n <Flex flexDirection=\"column\" gap={16}>\n <DataTable\n label={t('sections.taxLabel')}\n columns={[\n {\n title: t('sections.taxLabel'),\n render: (tax: TaxBreakdownItem) => <Text>{tax.name}</Text>,\n },\n {\n title: t('tax.amount'),\n render: (tax: TaxBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(tax.amount || '0'))}</Text>\n ),\n },\n ]}\n data={receiptData.taxes || []}\n footer={() => ({\n 'column-0': <Text weight=\"semibold\">{t('breakdown.totals')}</Text>,\n 'column-1': (\n <Text weight=\"semibold\">\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.taxDebit || '0'))}\n </Text>\n ),\n })}\n />\n </Flex>\n )\n\n const renderEmployeeBreakdown = () => (\n <Flex flexDirection=\"column\" gap={16}>\n {isMobile && <Heading as=\"h2\">{t('sections.employeesLabel')}</Heading>}\n <DataView\n label={t('sections.employeesLabel')}\n columns={[\n {\n title: t('employee.name'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{getEmployeeFullName(employee)}</Text>\n ),\n },\n {\n title: t('employee.paymentMethod'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{employee.paymentMethod || 'N/A'}</Text>\n ),\n },\n {\n title: t('employee.childSupport'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>\n {formatNumberAsCurrency(parseFloat(employee.childSupportGarnishment || '0'))}\n </Text>\n ),\n },\n {\n title: t('employee.reimbursement'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.totalReimbursement || '0'))}</Text>\n ),\n },\n {\n title: t('employee.totalTaxes'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.totalTax || '0'))}</Text>\n ),\n },\n {\n title: t('employee.netPay'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.netPay || '0'))}</Text>\n ),\n },\n ]}\n data={receiptData.employeeCompensations || []}\n footer={() => ({\n 'column-0': (\n <Flex flexDirection=\"column\" gap={4}>\n <Text weight=\"semibold\">{t('breakdown.totals')}</Text>\n <Text size=\"sm\" variant=\"supporting\">\n {t('employee.totalEmployees', {\n count: receiptData.employeeCompensations?.length || 0,\n })}\n </Text>\n </Flex>\n ),\n 'column-1': <Text>{'\\u00A0'}</Text>,\n 'column-2': (\n <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalChildSupport())}</Text>\n ),\n 'column-3': (\n <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalReimbursements())}</Text>\n ),\n 'column-4': <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalTaxes())}</Text>,\n 'column-5': <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalNetPay())}</Text>,\n })}\n />\n </Flex>\n )\n\n return (\n <div className={styles.container} ref={containerRef}>\n <Flex flexDirection=\"column\" gap={24}>\n {renderReceiptHeader()}\n {renderBreakdownSection()}\n {renderTaxBreakdown()}\n {renderEmployeeBreakdown()}\n </Flex>\n </div>\n )\n}\n"],"names":["PayrollReceiptsPresentation","receiptData","Heading","Text","useComponentContext","useI18n","useTranslation","containerRef","useRef","isMobile","useContainerBreakpoints","getEmployeeFullName","emp","getTotalChildSupport","sum","getTotalReimbursements","getTotalNetPay","getTotalTaxes","breakdownData","receiptDetailsConfig","renderReceiptHeader","jsx","classNames","styles","jsxs","Flex","ReceiptCheck","formatNumberAsCurrency","DataView","item","renderBreakdownSection","DataTable","renderTaxBreakdown","tax","renderEmployeeBreakdown","employee"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { PayrollInput, WireInRequestInput } from './payrollStatusConfig';
2
+ interface PayrollStatusBadgesProps {
3
+ payroll: PayrollInput;
4
+ wireInRequest?: WireInRequestInput;
5
+ }
6
+ export declare const PayrollStatusBadges: ({ payroll, wireInRequest }: PayrollStatusBadgesProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};