@gusto/embedded-react-sdk 0.21.0 → 0.23.0-rc.1

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 (260) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +32 -17
  3. package/dist/assets/icons/eye.svg.js +10 -0
  4. package/dist/assets/icons/eye.svg.js.map +1 -0
  5. package/dist/assets/icons/icon-file-outline.svg.js +10 -0
  6. package/dist/assets/icons/icon-file-outline.svg.js.map +1 -0
  7. package/dist/assets/icons/icon-receipt-outline.svg.js +10 -0
  8. package/dist/assets/icons/icon-receipt-outline.svg.js.map +1 -0
  9. package/dist/components/Base/Base.js.map +1 -1
  10. package/dist/components/Base/index.d.ts +1 -1
  11. package/dist/components/Common/Fields/CheckboxField/CheckboxField.js.map +1 -1
  12. package/dist/components/Common/Fields/CheckboxGroupField/CheckboxGroupField.js.map +1 -1
  13. package/dist/components/Common/Fields/ComboBoxField/ComboBoxField.js.map +1 -1
  14. package/dist/components/Common/Fields/DatePickerField/DatePickerField.js.map +1 -1
  15. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
  16. package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.js.map +1 -1
  17. package/dist/components/Common/Fields/SelectField/SelectField.js.map +1 -1
  18. package/dist/components/Common/Fields/SwitchField/SwitchField.js.map +1 -1
  19. package/dist/components/Common/Fields/TextAreaField/TextAreaField.js.map +1 -1
  20. package/dist/components/Common/Fields/TextInputField/TextInputField.js.map +1 -1
  21. package/dist/components/Common/Fieldset/Fieldset.js.map +1 -1
  22. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.d.ts +1 -0
  23. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js +14 -0
  24. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -0
  25. package/dist/components/Common/FlowBreadcrumbs/index.d.ts +1 -0
  26. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -1
  27. package/dist/components/Common/ReorderableList/ReorderableItem.d.ts +1 -1
  28. package/dist/components/Common/ReorderableList/ReorderableItem.js.map +1 -1
  29. package/dist/components/Common/ReorderableList/ReorderableList.js +7 -7
  30. package/dist/components/Common/ReorderableList/ReorderableList.js.map +1 -1
  31. package/dist/components/Common/UI/Badge/BadgeTypes.js.map +1 -1
  32. package/dist/components/Common/UI/Banner/BannerTypes.js.map +1 -1
  33. package/dist/components/Common/UI/Button/ButtonIcon.d.ts +1 -1
  34. package/dist/components/Common/UI/Button/ButtonIcon.js +10 -7
  35. package/dist/components/Common/UI/Button/ButtonIcon.js.map +1 -1
  36. package/dist/components/Common/UI/Button/ButtonTypes.js.map +1 -1
  37. package/dist/components/Common/UI/Checkbox/CheckboxTypes.js.map +1 -1
  38. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
  39. package/dist/components/Common/UI/ComboBox/ComboBox.module.scss.js +1 -1
  40. package/dist/components/Common/UI/DatePicker/DatePicker.module.scss.js +7 -7
  41. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  42. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.js.map +1 -1
  43. package/dist/components/Common/UI/Radio/RadioTypes.js.map +1 -1
  44. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
  45. package/dist/components/Common/UI/Select/Select.module.scss.js +6 -6
  46. package/dist/components/Common/UI/Switch/SwitchTypes.js.map +1 -1
  47. package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
  48. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  49. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +5 -5
  50. package/dist/components/Common/UI/TextArea/TextAreaTypes.js.map +1 -1
  51. package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
  52. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  53. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  54. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  55. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  56. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  57. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  58. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  59. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  60. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  61. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  62. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  63. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  64. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  65. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  66. package/dist/components/Company/Industry/Context.js +6 -7
  67. package/dist/components/Company/Industry/Context.js.map +1 -1
  68. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  69. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  70. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  71. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  72. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  73. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  74. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  75. package/dist/components/Company/PaySchedule/usePaySchedule.js +5 -6
  76. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  77. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  78. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  79. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  80. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  81. package/dist/components/Company/index.d.ts +2 -0
  82. package/dist/components/Company/index.js +20 -16
  83. package/dist/components/Company/index.js.map +1 -1
  84. package/dist/components/Contractor/Address/useAddress.js +5 -6
  85. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  86. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +7 -0
  87. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +204 -0
  88. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -0
  89. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +15 -9
  90. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +140 -0
  91. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -0
  92. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.d.ts +39 -0
  93. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +131 -0
  94. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -0
  95. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +11 -0
  96. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +139 -0
  97. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -0
  98. package/dist/components/Contractor/Payments/CreatePayment/helpers.d.ts +2 -0
  99. package/dist/components/Contractor/Payments/CreatePayment/helpers.js +6 -0
  100. package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +1 -0
  101. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +2 -0
  102. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js +26 -0
  103. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -0
  104. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +16 -0
  105. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +31 -0
  106. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -0
  107. package/dist/components/Contractor/Payments/PaymentFlow/index.d.ts +3 -0
  108. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +7 -0
  109. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +122 -0
  110. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -0
  111. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +8 -0
  112. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +26 -0
  113. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -0
  114. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +17 -15
  115. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +114 -0
  116. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -0
  117. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +9 -0
  118. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +49 -0
  119. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -0
  120. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +12 -0
  121. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +116 -0
  122. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -0
  123. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.module.scss.js +10 -0
  124. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.module.scss.js.map +1 -0
  125. package/dist/components/Contractor/Payments/types.d.ts +8 -0
  126. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +26 -26
  127. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  128. package/dist/components/Contractor/index.d.ts +1 -0
  129. package/dist/components/Contractor/index.js +4 -2
  130. package/dist/components/Contractor/index.js.map +1 -1
  131. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +2 -3
  132. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  133. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.d.ts +0 -3
  134. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +62 -77
  135. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  136. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +83 -50
  137. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js.map +1 -1
  138. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.d.ts +56 -0
  139. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +159 -0
  140. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -0
  141. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  142. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  143. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  144. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  145. package/dist/components/Employee/EmployeeList/useEmployeeList.js +3 -4
  146. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  147. package/dist/components/Employee/FederalTaxes/FederalForm.d.ts +22 -7
  148. package/dist/components/Employee/FederalTaxes/FederalForm.js +86 -32
  149. package/dist/components/Employee/FederalTaxes/FederalForm.js.map +1 -1
  150. package/dist/components/Employee/FederalTaxes/FederalTaxes.js +62 -46
  151. package/dist/components/Employee/FederalTaxes/FederalTaxes.js.map +1 -1
  152. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +3 -4
  153. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  154. package/dist/components/Employee/PaymentMethod/BankAccountsList.js +25 -23
  155. package/dist/components/Employee/PaymentMethod/BankAccountsList.js.map +1 -1
  156. package/dist/components/Employee/PaymentMethod/PaymentMethod.js +116 -106
  157. package/dist/components/Employee/PaymentMethod/PaymentMethod.js.map +1 -1
  158. package/dist/components/Employee/PaymentMethod/Split.js.map +1 -1
  159. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +5 -6
  160. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  161. package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +6 -6
  162. package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
  163. package/dist/components/Employee/Profile/useProfile.js +3 -4
  164. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  165. package/dist/components/Employee/StateTaxes/useStateTaxes.js +3 -4
  166. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  167. package/dist/components/Employee/Taxes/FederalForm.d.ts +22 -7
  168. package/dist/components/Employee/Taxes/FederalForm.js +86 -32
  169. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  170. package/dist/components/Employee/Taxes/Taxes.js +97 -81
  171. package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
  172. package/dist/components/Employee/Taxes/useTaxes.js +3 -4
  173. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  174. package/dist/components/Flow/Flow.d.ts +3 -3
  175. package/dist/components/Flow/Flow.js +35 -31
  176. package/dist/components/Flow/Flow.js.map +1 -1
  177. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +46 -39
  178. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  179. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.module.scss.js +8 -0
  180. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.module.scss.js.map +1 -0
  181. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  182. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.js.map +1 -1
  183. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +71 -72
  184. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  185. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +21 -22
  186. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  187. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.d.ts +2 -2
  188. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +19 -19
  189. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  190. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +1 -0
  191. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  192. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +75 -68
  193. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  194. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +66 -65
  195. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  196. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +127 -103
  197. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  198. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +254 -185
  199. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  200. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/{FastAchThresholdExceeded.d.ts → FastAchSubmissionBlockerBanner.d.ts} +2 -2
  201. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +55 -0
  202. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -0
  203. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/index.d.ts +1 -1
  204. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +1 -1
  205. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js +1 -1
  206. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
  207. package/dist/components/Payroll/index.d.ts +1 -1
  208. package/dist/components/Payroll/index.js +8 -6
  209. package/dist/components/Payroll/index.js.map +1 -1
  210. package/dist/components/Payroll/usePreparedPayrollData.js +6 -7
  211. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  212. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +4 -1
  213. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +9 -11
  214. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  215. package/dist/contexts/LocaleProvider/useLocale.d.ts +6 -3
  216. package/dist/contexts/LocaleProvider/useLocale.js +12 -9
  217. package/dist/contexts/LocaleProvider/useLocale.js.map +1 -1
  218. package/dist/helpers/currencyHelpers.d.ts +2 -0
  219. package/dist/helpers/currencyHelpers.js +6 -0
  220. package/dist/helpers/currencyHelpers.js.map +1 -0
  221. package/dist/helpers/formattedStrings.js +11 -12
  222. package/dist/helpers/formattedStrings.js.map +1 -1
  223. package/dist/i18n/I18n.js +10 -10
  224. package/dist/i18n/I18n.js.map +1 -1
  225. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +40 -0
  226. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js.map +1 -0
  227. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +24 -0
  228. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js.map +1 -0
  229. package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js +36 -0
  230. package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js.map +1 -0
  231. package/dist/i18n/en/Employee.Deductions.json.js +58 -46
  232. package/dist/i18n/en/Employee.Deductions.json.js.map +1 -1
  233. package/dist/i18n/en/Employee.FederalTaxes.json.js +49 -41
  234. package/dist/i18n/en/Employee.FederalTaxes.json.js.map +1 -1
  235. package/dist/i18n/en/Employee.Taxes.json.js +53 -45
  236. package/dist/i18n/en/Employee.Taxes.json.js.map +1 -1
  237. package/dist/i18n/en/Payroll.ConfirmWireDetailsForm.json.js +5 -5
  238. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +1 -1
  239. package/dist/i18n/en/Payroll.PayrollList.json.js +5 -5
  240. package/dist/i18n/en/Payroll.PayrollOverview.json.js +35 -31
  241. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  242. package/dist/shared/constants.d.ts +18 -0
  243. package/dist/shared/constants.js +73 -59
  244. package/dist/shared/constants.js.map +1 -1
  245. package/dist/style.css +1 -1
  246. package/dist/types/i18next.d.ts +182 -125
  247. package/package.json +18 -18
  248. package/dist/components/Contractor/Payments/Detail/DetailPresentation.d.ts +0 -19
  249. package/dist/components/Contractor/Payments/Overview/OverviewPresentation.d.ts +0 -18
  250. package/dist/components/Contractor/Payments/PaymentEdit/PaymentEditPresentation.d.ts +0 -6
  251. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.js +0 -52
  252. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.js.map +0 -1
  253. package/dist/i18n/en/ContractorPayment.ContractorPaymentCreatePayment.json.js +0 -32
  254. package/dist/i18n/en/ContractorPayment.ContractorPaymentCreatePayment.json.js.map +0 -1
  255. package/dist/i18n/en/ContractorPayment.ContractorPaymentDetail.json.js +0 -24
  256. package/dist/i18n/en/ContractorPayment.ContractorPaymentDetail.json.js.map +0 -1
  257. package/dist/i18n/en/ContractorPayment.ContractorPaymentOverview.json.js +0 -32
  258. package/dist/i18n/en/ContractorPayment.ContractorPaymentOverview.json.js.map +0 -1
  259. package/dist/i18n/en/ContractorPayment.ContractorPaymentPaymentHistory.json.js +0 -32
  260. package/dist/i18n/en/ContractorPayment.ContractorPaymentPaymentHistory.json.js.map +0 -1
@@ -1,43 +1,44 @@
1
1
  import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
- import { useTranslation as O } from "react-i18next";
3
- import { getPayrollType as j, calculateTotalPayroll as V } from "../helpers.js";
4
- import Y from "./PayrollHistoryPresentation.module.scss.js";
2
+ import { useTranslation as U } from "react-i18next";
3
+ import { getPayrollType as I, calculateTotalPayroll as L } from "../helpers.js";
4
+ import j from "./PayrollHistoryPresentation.module.scss.js";
5
5
  import { Flex as c } from "../../Common/Flex/Flex.js";
6
6
  import "classnames";
7
7
  import "../../../shared/constants.js";
8
- import { HamburgerMenu as q } from "../../Common/HamburgerMenu/HamburgerMenu.js";
9
- import { useComponentContext as I } from "../../../contexts/ComponentAdapter/useComponentContext.js";
10
- import { formatNumberAsCurrency as Z } from "../../../helpers/formattedStrings.js";
11
- import { useI18n as $ } from "../../../i18n/I18n.js";
12
- import { useDateFormatter as B } from "../../../hooks/useDateFormatter.js";
13
- import g from "../../../assets/icons/list.svg.js";
14
- import W from "../../../assets/icons/trashcan.svg.js";
15
- import { PayrollStatusBadges as _ } from "../PayrollStatusBadges/PayrollStatusBadges.js";
16
- import { DataView as z } from "../../Common/DataView/DataView.js";
17
- const me = ({
8
+ import { HamburgerMenu as V } from "../../Common/HamburgerMenu/HamburgerMenu.js";
9
+ import { useComponentContext as Y } from "../../../contexts/ComponentAdapter/useComponentContext.js";
10
+ import { formatNumberAsCurrency as q } from "../../../helpers/formattedStrings.js";
11
+ import { useI18n as Z } from "../../../i18n/I18n.js";
12
+ import { useDateFormatter as $ } from "../../../hooks/useDateFormatter.js";
13
+ import B from "../../../assets/icons/trashcan.svg.js";
14
+ import W from "../../../assets/icons/icon-file-outline.svg.js";
15
+ import _ from "../../../assets/icons/icon-receipt-outline.svg.js";
16
+ import { PayrollStatusBadges as z } from "../PayrollStatusBadges/PayrollStatusBadges.js";
17
+ import { DataView as E } from "../../Common/DataView/DataView.js";
18
+ const ue = ({
18
19
  payrollHistory: y,
19
- wireInRequests: P,
20
- selectedTimeFilter: w,
20
+ wireInRequests: g,
21
+ selectedTimeFilter: P,
21
22
  onTimeFilterChange: S,
22
- onViewSummary: b,
23
- onViewReceipt: C,
24
- onCancelPayroll: T,
25
- cancelDialogItem: a,
23
+ onViewSummary: w,
24
+ onViewReceipt: b,
25
+ onCancelPayroll: C,
26
+ cancelDialogItem: i,
26
27
  onCancelDialogOpen: F,
27
- onCancelDialogClose: v,
28
- isLoading: x = !1
28
+ onCancelDialogClose: T,
29
+ isLoading: v = !1
29
30
  }) => {
30
- const { Heading: f, Text: l, Select: k, Dialog: A } = I();
31
- $("Payroll.PayrollHistory");
32
- const { t } = O("Payroll.PayrollHistory"), u = B(), H = [
31
+ const { Heading: f, Text: l, Select: x, Dialog: k } = Y();
32
+ Z("Payroll.PayrollHistory");
33
+ const { t } = U("Payroll.PayrollHistory"), u = $(), A = [
33
34
  { value: "3months", label: t("timeFilter.options.3months") },
34
35
  { value: "6months", label: t("timeFilter.options.6months") },
35
36
  { value: "year", label: t("timeFilter.options.year") }
36
- ], L = (e) => {
37
+ ], H = (e) => {
37
38
  if (e.payrollStatusMeta?.cancellable === !1)
38
39
  return !1;
39
40
  if (e.processed && e.payrollDeadline) {
40
- const o = /* @__PURE__ */ new Date(), n = new Date(e.payrollDeadline), i = h(o), s = new Date(o.getTime() + i * 60 * 60 * 1e3), m = new Date(
41
+ const o = /* @__PURE__ */ new Date(), n = new Date(e.payrollDeadline), a = h(o), s = new Date(o.getTime() + a * 60 * 60 * 1e3), m = new Date(
41
42
  n.getTime() + h(n) * 60 * 60 * 1e3
42
43
  );
43
44
  if (s.toDateString() === m.toDateString()) {
@@ -50,49 +51,49 @@ const me = ({
50
51
  }, h = (e) => {
51
52
  const o = e.getFullYear(), n = new Date(o, 2, 1);
52
53
  n.setDate(1 + (7 - n.getDay()) + 7);
53
- const i = new Date(o, 10, 1);
54
- return i.setDate(1 + (7 - i.getDay()) % 7), e >= n && e < i ? -7 : -8;
55
- }, M = (e) => {
54
+ const a = new Date(o, 10, 1);
55
+ return a.setDate(1 + (7 - a.getDay()) % 7), e >= n && e < a ? -7 : -8;
56
+ }, O = (e) => {
56
57
  const o = e.payrollDeadline;
57
58
  if (!o) return "";
58
- const n = new Date(o), i = "America/New_York", s = new Intl.DateTimeFormat("en-US", {
59
+ const n = new Date(o), a = "America/New_York", s = new Intl.DateTimeFormat("en-US", {
59
60
  weekday: "short",
60
61
  month: "short",
61
62
  day: "numeric",
62
- timeZone: i
63
+ timeZone: a
63
64
  }), m = new Intl.DateTimeFormat("en-US", {
64
65
  hour: "numeric",
65
66
  minute: "2-digit",
66
67
  timeZoneName: "short",
67
- timeZone: i
68
+ timeZone: a
68
69
  }), D = s.format(n);
69
70
  return `${m.format(n)} on ${D}`;
70
- }, N = (e) => {
71
+ }, R = (e) => {
71
72
  F(e);
72
- }, R = () => {
73
- a && T(a);
74
- }, U = (e) => {
73
+ }, M = () => {
74
+ i && C(i);
75
+ }, N = (e) => {
75
76
  const o = e.payrollUuid || e.uuid, n = [
76
77
  {
77
78
  label: t("menu.viewSummary"),
78
- icon: /* @__PURE__ */ r(g, { "aria-hidden": !0 }),
79
+ icon: /* @__PURE__ */ r(W, { "aria-hidden": !0 }),
79
80
  onClick: () => {
80
- b(o);
81
+ w(o);
81
82
  }
82
83
  },
83
84
  {
84
85
  label: t("menu.viewReceipt"),
85
- icon: /* @__PURE__ */ r(g, { "aria-hidden": !0 }),
86
+ icon: /* @__PURE__ */ r(_, { "aria-hidden": !0 }),
86
87
  onClick: () => {
87
- C(o);
88
+ b(o);
88
89
  }
89
90
  }
90
91
  ];
91
- return L(e) && n.push({
92
+ return H(e) && n.push({
92
93
  label: t("menu.cancelPayroll"),
93
- icon: /* @__PURE__ */ r(W, { "aria-hidden": !0 }),
94
+ icon: /* @__PURE__ */ r(B, { "aria-hidden": !0 }),
94
95
  onClick: () => {
95
- N(e);
96
+ R(e);
96
97
  },
97
98
  "data-destructive": "true"
98
99
  }), n;
@@ -110,14 +111,14 @@ const me = ({
110
111
  gap: { base: 12, medium: 24 },
111
112
  children: [
112
113
  /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(f, { as: "h2", children: t("title") }) }),
113
- /* @__PURE__ */ r("div", { className: Y.timeFilterContainer, children: /* @__PURE__ */ r(
114
- k,
114
+ /* @__PURE__ */ r("div", { className: j.timeFilterContainer, children: /* @__PURE__ */ r(
115
+ x,
115
116
  {
116
- value: w,
117
+ value: P,
117
118
  onChange: (e) => {
118
119
  S(e);
119
120
  },
120
- options: H,
121
+ options: A,
121
122
  label: t("timeFilter.placeholder"),
122
123
  shouldVisuallyHideLabel: !0,
123
124
  isRequired: !0
@@ -127,7 +128,7 @@ const me = ({
127
128
  }
128
129
  ),
129
130
  /* @__PURE__ */ r(
130
- z,
131
+ E,
131
132
  {
132
133
  label: t("dataView.label"),
133
134
  columns: [
@@ -140,7 +141,7 @@ const me = ({
140
141
  },
141
142
  {
142
143
  title: t("columns.type"),
143
- render: (e) => /* @__PURE__ */ r(l, { children: j(e) })
144
+ render: (e) => /* @__PURE__ */ r(l, { children: I(e) })
144
145
  },
145
146
  {
146
147
  title: t("columns.payDate"),
@@ -149,41 +150,41 @@ const me = ({
149
150
  {
150
151
  title: t("columns.status"),
151
152
  render: (e) => {
152
- const o = P.find(
153
+ const o = g.find(
153
154
  (n) => n.paymentUuid === e.payrollUuid
154
155
  );
155
- return /* @__PURE__ */ r(_, { payroll: e, wireInRequest: o });
156
+ return /* @__PURE__ */ r(z, { payroll: e, wireInRequest: o });
156
157
  }
157
158
  },
158
159
  {
159
160
  title: t("columns.totalPayroll"),
160
- render: (e) => /* @__PURE__ */ r(l, { weight: "semibold", children: Z(V(e)) })
161
+ render: (e) => /* @__PURE__ */ r(l, { weight: "semibold", children: q(L(e)) })
161
162
  }
162
163
  ],
163
164
  data: y,
164
- itemMenu: (e) => /* @__PURE__ */ r(q, { items: U(e) })
165
+ itemMenu: (e) => /* @__PURE__ */ r(V, { items: N(e) })
165
166
  }
166
167
  ),
167
168
  /* @__PURE__ */ r(
168
- A,
169
+ k,
169
170
  {
170
- isOpen: !!a,
171
- onClose: v,
172
- onPrimaryActionClick: R,
171
+ isOpen: !!i,
172
+ onClose: T,
173
+ onPrimaryActionClick: M,
173
174
  isDestructive: !0,
174
- isPrimaryActionLoading: x,
175
+ isPrimaryActionLoading: v,
175
176
  primaryActionLabel: t("cancelDialog.primaryAction"),
176
177
  closeActionLabel: t("cancelDialog.secondaryAction"),
177
- title: a ? t("cancelDialog.title", {
178
+ title: i ? t("cancelDialog.title", {
178
179
  payPeriod: u.formatPayPeriodRange(
179
- a.payPeriod?.startDate,
180
- a.payPeriod?.endDate
180
+ i.payPeriod?.startDate,
181
+ i.payPeriod?.endDate
181
182
  )
182
183
  }) : "",
183
- children: a && /* @__PURE__ */ d(c, { flexDirection: "column", gap: 16, children: [
184
+ children: i && /* @__PURE__ */ d(c, { flexDirection: "column", gap: 16, children: [
184
185
  /* @__PURE__ */ r(l, { children: t("cancelDialog.body") }),
185
- a.payrollDeadline && /* @__PURE__ */ r(l, { children: t("cancelDialog.deadline", {
186
- deadline: M(a)
186
+ i.payrollDeadline && /* @__PURE__ */ r(l, { children: t("cancelDialog.deadline", {
187
+ deadline: O(i)
187
188
  }) })
188
189
  ] })
189
190
  }
@@ -191,6 +192,6 @@ const me = ({
191
192
  ] });
192
193
  };
193
194
  export {
194
- me as PayrollHistoryPresentation
195
+ ue as PayrollHistoryPresentation
195
196
  };
196
197
  //# sourceMappingURL=PayrollHistoryPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollHistoryPresentation.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollType, calculateTotalPayroll } from '../helpers'\nimport type { TimeFilterOption } from './PayrollHistory'\nimport styles from './PayrollHistoryPresentation.module.scss'\nimport type { MenuItem } from '@/components/Common/UI/Menu/MenuTypes'\nimport { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport ListIcon from '@/assets/icons/list.svg?react'\nimport TrashcanIcon from '@/assets/icons/trashcan.svg?react'\n\ninterface PayrollHistoryPresentationProps {\n payrollHistory: Payroll[]\n wireInRequests: WireInRequest[]\n selectedTimeFilter: TimeFilterOption\n onTimeFilterChange: (value: TimeFilterOption) => void\n onViewSummary: (payrollId: string) => void\n onViewReceipt: (payrollId: string) => void\n onCancelPayroll: (item: Payroll) => void\n cancelDialogItem: Payroll | null\n onCancelDialogOpen: (item: Payroll) => void\n onCancelDialogClose: () => void\n isLoading?: boolean\n}\n\nexport const PayrollHistoryPresentation = ({\n payrollHistory,\n wireInRequests,\n selectedTimeFilter,\n onTimeFilterChange,\n onViewSummary,\n onViewReceipt,\n onCancelPayroll,\n cancelDialogItem,\n onCancelDialogOpen,\n onCancelDialogClose,\n isLoading = false,\n}: PayrollHistoryPresentationProps) => {\n const { Heading, Text, Select, Dialog } = useComponentContext()\n useI18n('Payroll.PayrollHistory')\n const { t } = useTranslation('Payroll.PayrollHistory')\n const dateFormatter = useDateFormatter()\n\n const timeFilterOptions = [\n { value: '3months', label: t('timeFilter.options.3months') },\n { value: '6months', label: t('timeFilter.options.6months') },\n { value: 'year', label: t('timeFilter.options.year') },\n ]\n\n const canCancelPayroll = (item: Payroll) => {\n if (item.payrollStatusMeta?.cancellable === false) {\n return false\n }\n\n if (item.processed && item.payrollDeadline) {\n const now = new Date()\n const deadline = new Date(item.payrollDeadline)\n\n const ptOffset = getPacificTimeOffset(now)\n const nowInPT = new Date(now.getTime() + ptOffset * 60 * 60 * 1000)\n const deadlineInPT = new Date(\n deadline.getTime() + getPacificTimeOffset(deadline) * 60 * 60 * 1000,\n )\n\n const isSameDay = nowInPT.toDateString() === deadlineInPT.toDateString()\n if (isSameDay) {\n const cutoffTime = new Date(deadlineInPT)\n cutoffTime.setHours(15, 30, 0, 0)\n\n if (nowInPT > cutoffTime) {\n return false\n }\n }\n }\n\n return true\n }\n\n const getPacificTimeOffset = (date: Date): number => {\n const year = date.getFullYear()\n\n const secondSundayMarch = new Date(year, 2, 1)\n secondSundayMarch.setDate(1 + (7 - secondSundayMarch.getDay()) + 7)\n\n const firstSundayNovember = new Date(year, 10, 1)\n firstSundayNovember.setDate(1 + ((7 - firstSundayNovember.getDay()) % 7))\n\n const isDST = date >= secondSundayMarch && date < firstSundayNovember\n return isDST ? -7 : -8\n }\n\n const formatDeadlineForDialog = (item: Payroll): string => {\n const deadline = item.payrollDeadline\n if (!deadline) return ''\n\n const deadlineDate = new Date(deadline)\n const timeZone = 'America/New_York'\n\n const formatter = new Intl.DateTimeFormat('en-US', {\n weekday: 'short',\n month: 'short',\n day: 'numeric',\n timeZone,\n })\n\n const timeFormatter = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: '2-digit',\n timeZoneName: 'short',\n timeZone,\n })\n\n const dateStr = formatter.format(deadlineDate)\n const timeStr = timeFormatter.format(deadlineDate)\n\n return `${timeStr} on ${dateStr}`\n }\n\n const handleCancelClick = (item: Payroll) => {\n onCancelDialogOpen(item)\n }\n\n const handleConfirmCancel = () => {\n if (cancelDialogItem) {\n onCancelPayroll(cancelDialogItem)\n }\n }\n\n const getMenuItems = (item: Payroll): MenuItem[] => {\n const payrollId = item.payrollUuid || item.uuid!\n const items: MenuItem[] = [\n {\n label: t('menu.viewSummary'),\n icon: <ListIcon aria-hidden />,\n onClick: () => {\n onViewSummary(payrollId)\n },\n },\n {\n label: t('menu.viewReceipt'),\n icon: <ListIcon aria-hidden />,\n onClick: () => {\n onViewReceipt(payrollId)\n },\n },\n ]\n\n if (canCancelPayroll(item)) {\n items.push({\n label: t('menu.cancelPayroll'),\n icon: <TrashcanIcon aria-hidden />,\n onClick: () => {\n handleCancelClick(item)\n },\n 'data-destructive': 'true',\n })\n }\n\n return items\n }\n\n if (payrollHistory.length === 0) {\n return (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={24}>\n <Heading as=\"h3\">{t('emptyState.title')}</Heading>\n <Text>{t('emptyState.description')}</Text>\n </Flex>\n )\n }\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\n <Flex\n flexDirection={{ base: 'column', medium: 'row' }}\n justifyContent=\"space-between\"\n alignItems=\"flex-start\"\n gap={{ base: 12, medium: 24 }}\n >\n <Flex>\n <Heading as=\"h2\">{t('title')}</Heading>\n </Flex>\n <div className={styles.timeFilterContainer}>\n <Select\n value={selectedTimeFilter}\n onChange={(value: string) => {\n onTimeFilterChange(value as TimeFilterOption)\n }}\n options={timeFilterOptions}\n label={t('timeFilter.placeholder')}\n shouldVisuallyHideLabel\n isRequired\n />\n </div>\n </Flex>\n\n <DataView\n label={t('dataView.label')}\n columns={[\n {\n title: t('columns.payPeriod'),\n render: (item: Payroll) => (\n <Text>\n {dateFormatter.formatPayPeriodRange(\n item.payPeriod?.startDate,\n item.payPeriod?.endDate,\n )}\n </Text>\n ),\n },\n {\n title: t('columns.type'),\n render: (item: Payroll) => <Text>{getPayrollType(item)}</Text>,\n },\n {\n title: t('columns.payDate'),\n render: (item: Payroll) => (\n <Text>{dateFormatter.formatShortWithYear(item.checkDate)}</Text>\n ),\n },\n {\n title: t('columns.status'),\n render: (item: Payroll) => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === item.payrollUuid,\n )\n return <PayrollStatusBadges payroll={item} wireInRequest={wireInRequest} />\n },\n },\n {\n title: t('columns.totalPayroll'),\n render: (item: Payroll) => (\n <Text weight=\"semibold\">{formatNumberAsCurrency(calculateTotalPayroll(item))}</Text>\n ),\n },\n ]}\n data={payrollHistory}\n itemMenu={(item: Payroll) => <HamburgerMenu items={getMenuItems(item)} />}\n />\n\n <Dialog\n isOpen={!!cancelDialogItem}\n onClose={onCancelDialogClose}\n onPrimaryActionClick={handleConfirmCancel}\n isDestructive\n isPrimaryActionLoading={isLoading}\n primaryActionLabel={t('cancelDialog.primaryAction')}\n closeActionLabel={t('cancelDialog.secondaryAction')}\n title={\n cancelDialogItem\n ? t('cancelDialog.title', {\n payPeriod: dateFormatter.formatPayPeriodRange(\n cancelDialogItem.payPeriod?.startDate,\n cancelDialogItem.payPeriod?.endDate,\n ),\n })\n : ''\n }\n >\n {cancelDialogItem && (\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('cancelDialog.body')}</Text>\n {cancelDialogItem.payrollDeadline && (\n <Text>\n {t('cancelDialog.deadline', {\n deadline: formatDeadlineForDialog(cancelDialogItem),\n })}\n </Text>\n )}\n </Flex>\n )}\n </Dialog>\n </Flex>\n )\n}\n"],"names":["PayrollHistoryPresentation","payrollHistory","wireInRequests","selectedTimeFilter","onTimeFilterChange","onViewSummary","onViewReceipt","onCancelPayroll","cancelDialogItem","onCancelDialogOpen","onCancelDialogClose","isLoading","Heading","Text","Select","Dialog","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","timeFilterOptions","canCancelPayroll","item","now","deadline","ptOffset","getPacificTimeOffset","nowInPT","deadlineInPT","cutoffTime","date","year","secondSundayMarch","firstSundayNovember","formatDeadlineForDialog","deadlineDate","timeZone","formatter","timeFormatter","dateStr","handleCancelClick","handleConfirmCancel","getMenuItems","payrollId","items","jsx","ListIcon","TrashcanIcon","Flex","jsxs","styles","value","DataView","getPayrollType","wireInRequest","wire","PayrollStatusBadges","formatNumberAsCurrency","calculateTotalPayroll","HamburgerMenu"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollHistoryPresentation.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollType, calculateTotalPayroll } from '../helpers'\nimport type { TimeFilterOption } from './PayrollHistory'\nimport styles from './PayrollHistoryPresentation.module.scss'\nimport type { MenuItem } from '@/components/Common/UI/Menu/MenuTypes'\nimport { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport TrashcanIcon from '@/assets/icons/trashcan.svg?react'\nimport FileIcon from '@/assets/icons/icon-file-outline.svg?react'\nimport ReceiptIcon from '@/assets/icons/icon-receipt-outline.svg?react'\n\ninterface PayrollHistoryPresentationProps {\n payrollHistory: Payroll[]\n wireInRequests: WireInRequest[]\n selectedTimeFilter: TimeFilterOption\n onTimeFilterChange: (value: TimeFilterOption) => void\n onViewSummary: (payrollId: string) => void\n onViewReceipt: (payrollId: string) => void\n onCancelPayroll: (item: Payroll) => void\n cancelDialogItem: Payroll | null\n onCancelDialogOpen: (item: Payroll) => void\n onCancelDialogClose: () => void\n isLoading?: boolean\n}\n\nexport const PayrollHistoryPresentation = ({\n payrollHistory,\n wireInRequests,\n selectedTimeFilter,\n onTimeFilterChange,\n onViewSummary,\n onViewReceipt,\n onCancelPayroll,\n cancelDialogItem,\n onCancelDialogOpen,\n onCancelDialogClose,\n isLoading = false,\n}: PayrollHistoryPresentationProps) => {\n const { Heading, Text, Select, Dialog } = useComponentContext()\n useI18n('Payroll.PayrollHistory')\n const { t } = useTranslation('Payroll.PayrollHistory')\n const dateFormatter = useDateFormatter()\n\n const timeFilterOptions = [\n { value: '3months', label: t('timeFilter.options.3months') },\n { value: '6months', label: t('timeFilter.options.6months') },\n { value: 'year', label: t('timeFilter.options.year') },\n ]\n\n const canCancelPayroll = (item: Payroll) => {\n if (item.payrollStatusMeta?.cancellable === false) {\n return false\n }\n\n if (item.processed && item.payrollDeadline) {\n const now = new Date()\n const deadline = new Date(item.payrollDeadline)\n\n const ptOffset = getPacificTimeOffset(now)\n const nowInPT = new Date(now.getTime() + ptOffset * 60 * 60 * 1000)\n const deadlineInPT = new Date(\n deadline.getTime() + getPacificTimeOffset(deadline) * 60 * 60 * 1000,\n )\n\n const isSameDay = nowInPT.toDateString() === deadlineInPT.toDateString()\n if (isSameDay) {\n const cutoffTime = new Date(deadlineInPT)\n cutoffTime.setHours(15, 30, 0, 0)\n\n if (nowInPT > cutoffTime) {\n return false\n }\n }\n }\n\n return true\n }\n\n const getPacificTimeOffset = (date: Date): number => {\n const year = date.getFullYear()\n\n const secondSundayMarch = new Date(year, 2, 1)\n secondSundayMarch.setDate(1 + (7 - secondSundayMarch.getDay()) + 7)\n\n const firstSundayNovember = new Date(year, 10, 1)\n firstSundayNovember.setDate(1 + ((7 - firstSundayNovember.getDay()) % 7))\n\n const isDST = date >= secondSundayMarch && date < firstSundayNovember\n return isDST ? -7 : -8\n }\n\n const formatDeadlineForDialog = (item: Payroll): string => {\n const deadline = item.payrollDeadline\n if (!deadline) return ''\n\n const deadlineDate = new Date(deadline)\n const timeZone = 'America/New_York'\n\n const formatter = new Intl.DateTimeFormat('en-US', {\n weekday: 'short',\n month: 'short',\n day: 'numeric',\n timeZone,\n })\n\n const timeFormatter = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: '2-digit',\n timeZoneName: 'short',\n timeZone,\n })\n\n const dateStr = formatter.format(deadlineDate)\n const timeStr = timeFormatter.format(deadlineDate)\n\n return `${timeStr} on ${dateStr}`\n }\n\n const handleCancelClick = (item: Payroll) => {\n onCancelDialogOpen(item)\n }\n\n const handleConfirmCancel = () => {\n if (cancelDialogItem) {\n onCancelPayroll(cancelDialogItem)\n }\n }\n\n const getMenuItems = (item: Payroll): MenuItem[] => {\n const payrollId = item.payrollUuid || item.uuid!\n const items: MenuItem[] = [\n {\n label: t('menu.viewSummary'),\n icon: <FileIcon aria-hidden />,\n onClick: () => {\n onViewSummary(payrollId)\n },\n },\n {\n label: t('menu.viewReceipt'),\n icon: <ReceiptIcon aria-hidden />,\n onClick: () => {\n onViewReceipt(payrollId)\n },\n },\n ]\n\n if (canCancelPayroll(item)) {\n items.push({\n label: t('menu.cancelPayroll'),\n icon: <TrashcanIcon aria-hidden />,\n onClick: () => {\n handleCancelClick(item)\n },\n 'data-destructive': 'true',\n })\n }\n\n return items\n }\n\n if (payrollHistory.length === 0) {\n return (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={24}>\n <Heading as=\"h3\">{t('emptyState.title')}</Heading>\n <Text>{t('emptyState.description')}</Text>\n </Flex>\n )\n }\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\n <Flex\n flexDirection={{ base: 'column', medium: 'row' }}\n justifyContent=\"space-between\"\n alignItems=\"flex-start\"\n gap={{ base: 12, medium: 24 }}\n >\n <Flex>\n <Heading as=\"h2\">{t('title')}</Heading>\n </Flex>\n <div className={styles.timeFilterContainer}>\n <Select\n value={selectedTimeFilter}\n onChange={(value: string) => {\n onTimeFilterChange(value as TimeFilterOption)\n }}\n options={timeFilterOptions}\n label={t('timeFilter.placeholder')}\n shouldVisuallyHideLabel\n isRequired\n />\n </div>\n </Flex>\n\n <DataView\n label={t('dataView.label')}\n columns={[\n {\n title: t('columns.payPeriod'),\n render: (item: Payroll) => (\n <Text>\n {dateFormatter.formatPayPeriodRange(\n item.payPeriod?.startDate,\n item.payPeriod?.endDate,\n )}\n </Text>\n ),\n },\n {\n title: t('columns.type'),\n render: (item: Payroll) => <Text>{getPayrollType(item)}</Text>,\n },\n {\n title: t('columns.payDate'),\n render: (item: Payroll) => (\n <Text>{dateFormatter.formatShortWithYear(item.checkDate)}</Text>\n ),\n },\n {\n title: t('columns.status'),\n render: (item: Payroll) => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === item.payrollUuid,\n )\n return <PayrollStatusBadges payroll={item} wireInRequest={wireInRequest} />\n },\n },\n {\n title: t('columns.totalPayroll'),\n render: (item: Payroll) => (\n <Text weight=\"semibold\">{formatNumberAsCurrency(calculateTotalPayroll(item))}</Text>\n ),\n },\n ]}\n data={payrollHistory}\n itemMenu={(item: Payroll) => <HamburgerMenu items={getMenuItems(item)} />}\n />\n\n <Dialog\n isOpen={!!cancelDialogItem}\n onClose={onCancelDialogClose}\n onPrimaryActionClick={handleConfirmCancel}\n isDestructive\n isPrimaryActionLoading={isLoading}\n primaryActionLabel={t('cancelDialog.primaryAction')}\n closeActionLabel={t('cancelDialog.secondaryAction')}\n title={\n cancelDialogItem\n ? t('cancelDialog.title', {\n payPeriod: dateFormatter.formatPayPeriodRange(\n cancelDialogItem.payPeriod?.startDate,\n cancelDialogItem.payPeriod?.endDate,\n ),\n })\n : ''\n }\n >\n {cancelDialogItem && (\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('cancelDialog.body')}</Text>\n {cancelDialogItem.payrollDeadline && (\n <Text>\n {t('cancelDialog.deadline', {\n deadline: formatDeadlineForDialog(cancelDialogItem),\n })}\n </Text>\n )}\n </Flex>\n )}\n </Dialog>\n </Flex>\n )\n}\n"],"names":["PayrollHistoryPresentation","payrollHistory","wireInRequests","selectedTimeFilter","onTimeFilterChange","onViewSummary","onViewReceipt","onCancelPayroll","cancelDialogItem","onCancelDialogOpen","onCancelDialogClose","isLoading","Heading","Text","Select","Dialog","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","timeFilterOptions","canCancelPayroll","item","now","deadline","ptOffset","getPacificTimeOffset","nowInPT","deadlineInPT","cutoffTime","date","year","secondSundayMarch","firstSundayNovember","formatDeadlineForDialog","deadlineDate","timeZone","formatter","timeFormatter","dateStr","handleCancelClick","handleConfirmCancel","getMenuItems","payrollId","items","jsx","FileIcon","ReceiptIcon","TrashcanIcon","Flex","jsxs","styles","value","DataView","getPayrollType","wireInRequest","wire","PayrollStatusBadges","formatNumberAsCurrency","calculateTotalPayroll","HamburgerMenu"],"mappings":"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"}
@@ -1,172 +1,196 @@
1
- import { jsx as u, jsxs as x } from "react/jsx-runtime";
2
- import { usePayrollsSubmitMutation as W } from "@gusto/embedded-api/react-query/payrollsSubmit";
3
- import { usePayrollsCancelMutation as j } from "@gusto/embedded-api/react-query/payrollsCancel";
4
- import { usePayrollsGetSuspense as V } from "@gusto/embedded-api/react-query/payrollsGet";
5
- import { useTranslation as H } from "react-i18next";
6
- import { useBankAccountsGetSuspense as K } from "@gusto/embedded-api/react-query/bankAccountsGet";
7
- import { useEmployeesListSuspense as z } from "@gusto/embedded-api/react-query/employeesList";
8
- import { useState as y, useEffect as J } from "react";
9
- import { useGustoEmbeddedContext as Q } from "@gusto/embedded-api/react-query/_context";
10
- import { payrollsGetPayStub as X } from "@gusto/embedded-api/funcs/payrollsGetPayStub";
11
- import { useErrorBoundary as Z } from "react-error-boundary";
12
- import { ConfirmWireDetails as $ } from "../ConfirmWireDetails/ConfirmWireDetails.js";
13
- import { PayrollOverviewPresentation as ee } from "./PayrollOverviewPresentation.js";
14
- import { PAYROLL_PROCESSING_STATUS as p, componentEvents as l, PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES as te } from "../../../shared/constants.js";
15
- import { BaseComponent as oe } from "../../Base/Base.js";
16
- import { useBase as se } from "../../Base/useBase.js";
17
- import { useComponentDictionary as re, useI18n as ne } from "../../../i18n/I18n.js";
18
- import { readableStreamToBlob as ie } from "../../../helpers/readableStreamToBlob.js";
19
- import ae from "../../../hooks/useNumberFormatter.js";
20
- import { useDateFormatter as le } from "../../../hooks/useDateFormatter.js";
21
- import { useComponentContext as ce } from "../../../contexts/ComponentAdapter/useComponentContext.js";
22
- import { renderErrorList as ue } from "../../../helpers/apiErrorToList.js";
23
- import { Flex as me } from "../../Common/Flex/Flex.js";
1
+ import { jsx as c, jsxs as z } from "react/jsx-runtime";
2
+ import { usePayrollsSubmitMutation as J } from "@gusto/embedded-api/react-query/payrollsSubmit";
3
+ import { usePayrollsCancelMutation as Q } from "@gusto/embedded-api/react-query/payrollsCancel";
4
+ import { usePayrollsGetSuspense as X } from "@gusto/embedded-api/react-query/payrollsGet";
5
+ import { useTranslation as Z } from "react-i18next";
6
+ import { useBankAccountsGetSuspense as $ } from "@gusto/embedded-api/react-query/bankAccountsGet";
7
+ import { useEmployeesListSuspense as ee } from "@gusto/embedded-api/react-query/employeesList";
8
+ import { useWireInRequestsGet as te } from "@gusto/embedded-api/react-query/wireInRequestsGet";
9
+ import { useState as b, useEffect as S } from "react";
10
+ import { useGustoEmbeddedContext as se } from "@gusto/embedded-api/react-query/_context";
11
+ import { payrollsGetPayStub as oe } from "@gusto/embedded-api/funcs/payrollsGetPayStub";
12
+ import { useErrorBoundary as re } from "react-error-boundary";
13
+ import { ConfirmWireDetails as ne } from "../ConfirmWireDetails/ConfirmWireDetails.js";
14
+ import { PayrollOverviewPresentation as ie } from "./PayrollOverviewPresentation.js";
15
+ import { PAYROLL_PROCESSING_STATUS as R, componentEvents as l, PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES as ae, payrollWireEvents as le } from "../../../shared/constants.js";
16
+ import { BaseComponent as ce } from "../../Base/Base.js";
17
+ import { useBase as ue } from "../../Base/useBase.js";
18
+ import { useComponentDictionary as me, useI18n as pe } from "../../../i18n/I18n.js";
19
+ import { readableStreamToBlob as de } from "../../../helpers/readableStreamToBlob.js";
20
+ import fe from "../../../hooks/useNumberFormatter.js";
21
+ import { useDateFormatter as ye } from "../../../hooks/useDateFormatter.js";
22
+ import { useComponentContext as Pe } from "../../../contexts/ComponentAdapter/useComponentContext.js";
23
+ import { renderErrorList as be } from "../../../helpers/apiErrorToList.js";
24
+ import { Flex as Re } from "../../Common/Flex/Flex.js";
24
25
  import "classnames";
25
- const pe = (o = []) => o.filter(
26
- (n) => n.status === "unresolved" && n.unblockOptions && n.unblockOptions.length > 0
27
- ), de = (o = []) => {
28
- const n = o.find((s) => s.status === "unresolved");
29
- return n?.unblockOptions ? n.unblockOptions.find(
30
- (s) => s.unblockType === "submit_wire"
26
+ const we = (o = []) => o.filter(
27
+ (i) => i.status === "unresolved" && i.unblockOptions && i.unblockOptions.length > 0
28
+ ), Se = (o = []) => {
29
+ const i = o.find((n) => n.status === "unresolved");
30
+ return i?.unblockOptions ? i.unblockOptions.find(
31
+ (n) => n.unblockType === "submit_wire"
31
32
  )?.metadata.wireInRequestUuid : void 0;
32
33
  };
33
- function We(o) {
34
- return /* @__PURE__ */ u(oe, { ...o, children: /* @__PURE__ */ u(fe, { ...o, children: o.children }) });
34
+ function Ze(o) {
35
+ return /* @__PURE__ */ c(ce, { ...o, children: /* @__PURE__ */ c(Oe, { ...o, children: o.children }) });
35
36
  }
36
- const fe = ({
37
+ const Oe = ({
37
38
  companyId: o,
38
- payrollId: n,
39
- dictionary: P,
40
- onEvent: s,
41
- alerts: C
39
+ payrollId: i,
40
+ dictionary: O,
41
+ onEvent: n,
42
+ alerts: k
42
43
  }) => {
43
- re("Payroll.PayrollOverview", P), ne("Payroll.PayrollOverview");
44
- const { baseSubmitHandler: b } = se(), { t: a } = H("Payroll.PayrollOverview"), [c, m] = y(!1), [U, d] = y(C || []), [R, A] = y({}), { showBoundary: D } = Z(), O = ae("currency"), S = le(), { Button: E, UnorderedList: g } = ce(), { data: f } = V(
44
+ me("Payroll.PayrollOverview", O), pe("Payroll.PayrollOverview");
45
+ const { baseSubmitHandler: L } = ue(), { t: a } = Z("Payroll.PayrollOverview"), [u, p] = b(!1), [A, d] = b(k || []), [D, g] = b({}), [f, m] = b(!1), { showBoundary: B } = re(), _ = fe("currency"), y = ye(), { Button: v, UnorderedList: T, Text: h } = Pe(), { data: w } = X(
45
46
  {
46
47
  companyId: o,
47
- payrollId: n,
48
+ payrollId: i,
48
49
  include: ["taxes", "benefits", "deductions"]
49
50
  },
50
- { refetchInterval: c ? 5e3 : !1 }
51
- ), e = f.payrollShow, k = pe(e.submissionBlockers), L = de(e.creditBlockers), w = () => {
52
- s(l.RUN_PAYROLL_EDIT);
53
- }, B = L && /* @__PURE__ */ u($, { companyId: o, wireInId: L, onEvent: s });
54
- J(() => {
55
- e.processingRequest?.status === p.submitting && !c && m(!0), c && e.processingRequest?.status === p.submit_success && (s(l.RUN_PAYROLL_PROCESSED), d([
51
+ { refetchInterval: u ? 5e3 : !1 }
52
+ ), e = w.payrollShow, q = we(e.submissionBlockers), P = Se(e.creditBlockers), { data: N } = te(
53
+ {
54
+ wireInRequestUuid: P || ""
55
+ },
56
+ { enabled: !!P }
57
+ ), E = N?.wireInRequest, C = () => {
58
+ n(l.RUN_PAYROLL_EDIT);
59
+ }, I = P && /* @__PURE__ */ c(ne, { companyId: o, wireInId: P, onEvent: (t, r) => {
60
+ t === le.PAYROLL_WIRE_FORM_DONE && m(!0), n(t, r);
61
+ } });
62
+ S(() => {
63
+ E?.status === "pending_review" && !f && m(!0);
64
+ }, [E?.status, f]), S(() => {
65
+ if (f) {
66
+ const t = y.formatShortWithYear(e.checkDate);
67
+ d([
68
+ {
69
+ type: "success",
70
+ title: a("alerts.wireDetailsSubmittedTitle"),
71
+ content: /* @__PURE__ */ c(h, { children: a("alerts.wireDetailsSubmittedMessage", { checkDate: t }) }),
72
+ onDismiss: () => {
73
+ m(!1);
74
+ }
75
+ }
76
+ ]);
77
+ }
78
+ }, [f, e.checkDate, a, y, h]), S(() => {
79
+ e.processingRequest?.status === R.submitting && !u && p(!0), u && e.processingRequest?.status === R.submit_success && (n(l.RUN_PAYROLL_PROCESSED), d([
56
80
  {
57
81
  type: "success",
58
82
  title: a("alerts.payrollProcessedTitle"),
59
83
  content: a("alerts.payrollProcessedMessage", {
60
- amount: O(Number(e.totals?.netPayDebit)),
61
- date: S.formatShortWithYear(
84
+ amount: _(Number(e.totals?.netPayDebit)),
85
+ date: y.formatShortWithYear(
62
86
  e.payrollStatusMeta?.expectedDebitTime ?? e.payrollDeadline
63
87
  )
64
88
  })
65
89
  }
66
- ]), m(!1)), c && e.processingRequest?.status === p.processing_failed && (s(l.RUN_PAYROLL_PROCESSING_FAILED), d([
90
+ ]), m(!1), p(!1)), u && e.processingRequest?.status === R.processing_failed && (n(l.RUN_PAYROLL_PROCESSING_FAILED), d([
67
91
  {
68
92
  type: "error",
69
93
  title: a("alerts.payrollProcessingFailedTitle"),
70
- content: /* @__PURE__ */ x(me, { flexDirection: "column", gap: 16, children: [
71
- /* @__PURE__ */ u(g, { items: ue(e.processingRequest.errors ?? []) }),
72
- /* @__PURE__ */ u(E, { variant: "secondary", onClick: w, children: a("alerts.payrollProcessingFailedCtaLabel") })
94
+ content: /* @__PURE__ */ z(Re, { flexDirection: "column", gap: 16, children: [
95
+ /* @__PURE__ */ c(T, { items: be(e.processingRequest.errors ?? []) }),
96
+ /* @__PURE__ */ c(v, { variant: "secondary", onClick: C, children: a("alerts.payrollProcessingFailedCtaLabel") })
73
97
  ] })
74
98
  }
75
- ]), m(!1));
99
+ ]), m(!1), p(!1));
76
100
  }, [
77
101
  e.processingRequest?.status,
78
- c,
79
- s,
102
+ u,
103
+ n,
80
104
  a,
81
- S,
82
- O,
105
+ y,
106
+ _,
83
107
  e.totals?.netPayDebit,
84
108
  e.payrollStatusMeta?.expectedDebitTime,
85
109
  e.payrollDeadline
86
110
  ]);
87
- const { data: h } = K({
111
+ const { data: W } = $({
88
112
  companyId: o
89
- }), T = h.companyBankAccounts?.[0], { data: N } = z({
113
+ }), Y = W.companyBankAccounts?.[0], { data: F } = ee({
90
114
  companyId: o
91
- }), { mutateAsync: v, isPending: q } = W(), { mutateAsync: Y, isPending: F } = j();
115
+ }), { mutateAsync: M, isPending: G } = J(), { mutateAsync: x, isPending: j } = Q();
92
116
  if (!e.calculatedAt)
93
117
  throw new Error(a("alerts.payrollNotCalculated"));
94
- const I = Q(), G = e.employeeCompensations?.reduce(
95
- (r, i) => (i.taxes?.forEach((t) => {
96
- r[t.name] = {
97
- employee: (r[t.name]?.employee ?? 0) + (t.employer ? 0 : t.amount),
98
- employer: (r[t.name]?.employer ?? 0) + (t.employer ? t.amount : 0)
118
+ const V = se(), H = e.employeeCompensations?.reduce(
119
+ (t, r) => (r.taxes?.forEach((s) => {
120
+ t[s.name] = {
121
+ employee: (t[s.name]?.employee ?? 0) + (s.employer ? 0 : s.amount),
122
+ employer: (t[s.name]?.employer ?? 0) + (s.employer ? s.amount : 0)
99
123
  };
100
- }), r),
124
+ }), t),
101
125
  {}
102
126
  ) || {};
103
- return /* @__PURE__ */ u(
104
- ee,
127
+ return /* @__PURE__ */ c(
128
+ ie,
105
129
  {
106
- onEdit: w,
130
+ onEdit: C,
107
131
  onSubmit: async () => {
108
- await b(f, async () => {
109
- const r = await v({
132
+ await L(w, async () => {
133
+ const t = await M({
110
134
  request: {
111
135
  companyId: o,
112
- payrollId: n,
136
+ payrollId: i,
113
137
  requestBody: {
114
- submissionBlockers: Object.entries(R).filter(
115
- ([i]) => te.includes(i)
116
- ).map(([i, t]) => ({
117
- blockerType: i,
118
- selectedOption: t
138
+ submissionBlockers: Object.entries(D).filter(
139
+ ([r]) => ae.includes(r)
140
+ ).map(([r, s]) => ({
141
+ blockerType: r,
142
+ selectedOption: s
119
143
  }))
120
144
  }
121
145
  }
122
146
  });
123
- s(l.RUN_PAYROLL_SUBMITTED, r), m(!0);
147
+ n(l.RUN_PAYROLL_SUBMITTED, t), p(!0);
124
148
  });
125
149
  },
126
150
  onCancel: async () => {
127
- await b(f, async () => {
128
- const r = await Y({
151
+ await L(w, async () => {
152
+ const t = await x({
129
153
  request: {
130
154
  companyId: o,
131
- payrollId: n
155
+ payrollId: i
132
156
  }
133
157
  });
134
- s(l.RUN_PAYROLL_CANCELLED, r), d([]);
158
+ n(l.RUN_PAYROLL_CANCELLED, t), d([]);
135
159
  });
136
160
  },
137
161
  onPayrollReceipt: () => {
138
- s(l.RUN_PAYROLL_RECEIPT_GET, { payrollId: n });
162
+ n(l.RUN_PAYROLL_RECEIPT_GET, { payrollId: i });
139
163
  },
140
- onPaystubDownload: async (r) => {
141
- const i = window.open("", "_blank");
164
+ onPaystubDownload: async (t) => {
165
+ const r = window.open("", "_blank");
142
166
  try {
143
- const t = await X(I, { payrollId: n, employeeId: r });
144
- if (!t.value?.responseStream)
167
+ const s = await oe(V, { payrollId: i, employeeId: t });
168
+ if (!s.value?.responseStream)
145
169
  throw new Error(a("alerts.paystubPdfError"));
146
- const M = await ie(t.value.responseStream, "application/pdf"), _ = URL.createObjectURL(M);
147
- i && (i.location.href = _), s(l.RUN_PAYROLL_PDF_PAYSTUB_VIEWED, { employeeId: r }), URL.revokeObjectURL(_);
148
- } catch (t) {
149
- i && i.close(), D(t);
170
+ const K = await de(s.value.responseStream, "application/pdf"), U = URL.createObjectURL(K);
171
+ r && (r.location.href = U), n(l.RUN_PAYROLL_PDF_PAYSTUB_VIEWED, { employeeId: t }), URL.revokeObjectURL(U);
172
+ } catch (s) {
173
+ r && r.close(), B(s);
150
174
  }
151
175
  },
152
- isSubmitting: q || c || F,
153
- isProcessed: e.processingRequest?.status === p.submit_success,
176
+ isSubmitting: G || u || j,
177
+ isProcessed: e.processingRequest?.status === R.submit_success,
154
178
  payrollData: e,
155
- bankAccount: T,
156
- employeeDetails: N.showEmployees || [],
157
- taxes: G,
158
- alerts: U,
159
- submissionBlockers: k,
160
- selectedUnblockOptions: R,
161
- onUnblockOptionChange: (r, i) => {
162
- A((t) => ({ ...t, [r]: i }));
179
+ bankAccount: Y,
180
+ employeeDetails: F.showEmployees || [],
181
+ taxes: H,
182
+ alerts: A,
183
+ submissionBlockers: q,
184
+ selectedUnblockOptions: D,
185
+ onUnblockOptionChange: (t, r) => {
186
+ g((s) => ({ ...s, [t]: r }));
163
187
  },
164
- wireInConfirmationRequest: B
188
+ wireInConfirmationRequest: I
165
189
  }
166
190
  );
167
191
  };
168
192
  export {
169
- We as PayrollOverview,
170
- fe as Root
193
+ Ze as PayrollOverview,
194
+ Oe as Root
171
195
  };
172
196
  //# sourceMappingURL=PayrollOverview.js.map