@gusto/embedded-react-sdk 0.34.0 → 0.35.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 (202) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/components/Base/Base.d.ts +6 -2
  3. package/dist/components/Base/Base.js +105 -59
  4. package/dist/components/Base/Base.js.map +1 -1
  5. package/dist/components/Base/useBase.d.ts +1 -0
  6. package/dist/components/Base/useBase.js.map +1 -1
  7. package/dist/components/Base/useBaseSubmit.d.ts +1 -1
  8. package/dist/components/Base/useBaseSubmit.js +60 -33
  9. package/dist/components/Base/useBaseSubmit.js.map +1 -1
  10. package/dist/components/Common/HamburgerMenu/HamburgerMenu.d.ts +1 -1
  11. package/dist/components/Common/HamburgerMenu/HamburgerMenu.js +15 -13
  12. package/dist/components/Common/HamburgerMenu/HamburgerMenu.js.map +1 -1
  13. package/dist/components/Common/HamburgerMenu/HamburgerMenuTypes.d.ts +1 -0
  14. package/dist/components/Common/SignatureForm/SignatureFormFields.js +1 -1
  15. package/dist/components/Common/UI/Menu/Menu.js +26 -25
  16. package/dist/components/Common/UI/Menu/Menu.js.map +1 -1
  17. package/dist/components/Common/UI/Menu/Menu.module.scss.js +7 -7
  18. package/dist/components/Common/UI/Menu/MenuTypes.d.ts +5 -0
  19. package/dist/components/Common/UI/Menu/MenuTypes.js +4 -3
  20. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  21. package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
  22. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +1 -1
  23. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +12 -12
  24. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  25. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  26. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +1 -1
  27. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  28. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  29. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  30. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  31. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +1 -1
  32. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  33. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  34. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +1 -1
  35. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  36. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  37. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  38. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  39. package/dist/components/Company/FederalTaxes/Form.js +1 -1
  40. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  41. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  42. package/dist/components/Company/Industry/Context.js +6 -7
  43. package/dist/components/Company/Industry/Context.js.map +1 -1
  44. package/dist/components/Company/Locations/LocationForm/Form.js +1 -1
  45. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  46. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  47. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  48. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  49. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  50. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  51. package/dist/components/Company/PaySchedule/_parts/Edit.js +15 -15
  52. package/dist/components/Company/PaySchedule/usePaySchedule.js +5 -6
  53. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  54. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  55. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  56. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  57. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  58. package/dist/components/Contractor/Address/Form.js +1 -1
  59. package/dist/components/Contractor/Address/useAddress.js +5 -6
  60. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  61. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +2 -2
  62. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +1 -1
  63. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +119 -113
  64. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  65. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +10 -10
  66. package/dist/components/Contractor/Profile/ContractorProfileForm.js +15 -15
  67. package/dist/components/Employee/Compensation/Edit.js +70 -70
  68. package/dist/components/Employee/Compensation/Edit.js.map +1 -1
  69. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +9 -10
  70. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  71. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +10 -11
  72. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  73. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +10 -11
  74. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
  75. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  76. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  77. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +18 -18
  78. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js +7 -7
  79. package/dist/components/Employee/DocumentSigner/SignatureForm/Form.js +5 -5
  80. package/dist/components/Employee/DocumentSigner/SignatureForm/Form.js.map +1 -1
  81. package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.js +8 -8
  82. package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.js.map +1 -1
  83. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  84. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  85. package/dist/components/Employee/EmployeeList/useEmployeeList.js +3 -4
  86. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  87. package/dist/components/Employee/FederalTaxes/FederalForm.js +7 -7
  88. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +3 -4
  89. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  90. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +2 -2
  91. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +1 -1
  92. package/dist/components/Employee/PaymentMethod/Split.js +8 -8
  93. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +5 -6
  94. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  95. package/dist/components/Employee/Profile/AdminPersonalDetails.js +1 -1
  96. package/dist/components/Employee/Profile/HomeAddress.js +1 -1
  97. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +2 -2
  98. package/dist/components/Employee/Profile/useProfile.js +3 -4
  99. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  100. package/dist/components/Employee/StateTaxes/StateTaxes.js +69 -61
  101. package/dist/components/Employee/StateTaxes/StateTaxes.js.map +1 -1
  102. package/dist/components/Employee/StateTaxes/useStateTaxes.js +3 -4
  103. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  104. package/dist/components/Employee/Taxes/FederalForm.js +7 -7
  105. package/dist/components/Employee/Taxes/useTaxes.js +3 -4
  106. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  107. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +10 -10
  108. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  109. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +9 -9
  110. package/dist/components/Payroll/GrossUpModal/GrossUpModal.d.ts +2 -0
  111. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +101 -0
  112. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -0
  113. package/dist/components/Payroll/GrossUpModal/GrossUpModal.module.scss.js +16 -0
  114. package/dist/components/Payroll/GrossUpModal/GrossUpModal.module.scss.js.map +1 -0
  115. package/dist/components/Payroll/GrossUpModal/GrossUpModalTypes.d.ts +7 -0
  116. package/dist/components/Payroll/GrossUpModal/index.d.ts +3 -0
  117. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +86 -67
  118. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  119. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
  120. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +83 -49
  121. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  122. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +6 -0
  123. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +1 -1
  124. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +1 -1
  125. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +102 -0
  126. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -0
  127. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.module.scss.js +14 -0
  128. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.module.scss.js.map +1 -0
  129. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.js +52 -0
  130. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.js.map +1 -0
  131. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.module.scss.js +16 -0
  132. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.module.scss.js.map +1 -0
  133. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +12 -2
  134. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js +15 -0
  135. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js.map +1 -0
  136. package/dist/components/Payroll/OffCycleTaxWithholdingTable/index.d.ts +2 -1
  137. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +212 -120
  138. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  139. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -1
  140. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +76 -64
  141. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  142. package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.d.ts +2 -0
  143. package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.js +11 -0
  144. package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.js.map +1 -0
  145. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +67 -57
  146. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  147. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +36 -36
  148. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +6 -6
  149. package/dist/components/Payroll/usePreparedPayrollData.js +44 -44
  150. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  151. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +2 -0
  152. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +58 -39
  153. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  154. package/dist/contexts/ObservabilityProvider/ObservabilityContext.d.ts +5 -0
  155. package/dist/contexts/ObservabilityProvider/ObservabilityContext.js +6 -0
  156. package/dist/contexts/ObservabilityProvider/ObservabilityContext.js.map +1 -0
  157. package/dist/contexts/ObservabilityProvider/ObservabilityProvider.d.ts +7 -0
  158. package/dist/contexts/ObservabilityProvider/ObservabilityProvider.js +11 -0
  159. package/dist/contexts/ObservabilityProvider/ObservabilityProvider.js.map +1 -0
  160. package/dist/contexts/ObservabilityProvider/index.d.ts +5 -0
  161. package/dist/contexts/ObservabilityProvider/observabilityUtils.d.ts +5 -0
  162. package/dist/contexts/ObservabilityProvider/observabilityUtils.js +45 -0
  163. package/dist/contexts/ObservabilityProvider/observabilityUtils.js.map +1 -0
  164. package/dist/contexts/ObservabilityProvider/sanitization.d.ts +19 -0
  165. package/dist/contexts/ObservabilityProvider/sanitization.js +95 -0
  166. package/dist/contexts/ObservabilityProvider/sanitization.js.map +1 -0
  167. package/dist/contexts/ObservabilityProvider/sanitization.test.d.ts +1 -0
  168. package/dist/contexts/ObservabilityProvider/useObservability.d.ts +2 -0
  169. package/dist/contexts/ObservabilityProvider/useObservability.js +11 -0
  170. package/dist/contexts/ObservabilityProvider/useObservability.js.map +1 -0
  171. package/dist/contexts/ObservabilityProvider/useSanitizedObservability.d.ts +8 -0
  172. package/dist/contexts/ObservabilityProvider/useSanitizedObservability.js +28 -0
  173. package/dist/contexts/ObservabilityProvider/useSanitizedObservability.js.map +1 -0
  174. package/dist/contexts/index.d.ts +2 -0
  175. package/dist/helpers/formattedStrings.js +12 -13
  176. package/dist/helpers/formattedStrings.js.map +1 -1
  177. package/dist/helpers/rem.d.ts +7 -3
  178. package/dist/helpers/rem.js +14 -10
  179. package/dist/helpers/rem.js.map +1 -1
  180. package/dist/helpers/rem.test.d.ts +1 -0
  181. package/dist/helpers/retryAsync.d.ts +7 -0
  182. package/dist/helpers/retryAsync.js +18 -0
  183. package/dist/helpers/retryAsync.js.map +1 -0
  184. package/dist/i18n/I18n.js +15 -15
  185. package/dist/i18n/I18n.js.map +1 -1
  186. package/dist/i18n/en/Company.PaySchedule.json.js +1 -1
  187. package/dist/i18n/en/Payroll.GrossUpModal.json.js +24 -0
  188. package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -0
  189. package/dist/i18n/en/Payroll.OffCycleTaxWithholding.json.js +13 -11
  190. package/dist/i18n/en/Payroll.OffCycleTaxWithholding.json.js.map +1 -1
  191. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +1 -1
  192. package/dist/index.d.ts +2 -0
  193. package/dist/index.js +19 -13
  194. package/dist/index.js.map +1 -1
  195. package/dist/shared/constants.d.ts +5 -0
  196. package/dist/shared/constants.js +11 -8
  197. package/dist/shared/constants.js.map +1 -1
  198. package/dist/style.css +1 -1
  199. package/dist/types/i18next.d.ts +26 -1
  200. package/dist/types/observability.d.ts +145 -0
  201. package/docs/reference/endpoint-inventory.json +10 -1
  202. package/package.json +21 -21
@@ -1,165 +1,257 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { useState as h, useEffect as H } from "react";
3
- import { usePayrollsGetSuspense as K } from "@gusto/embedded-api/react-query/payrollsGet";
4
- import { usePayrollsCalculateMutation as V } from "@gusto/embedded-api/react-query/payrollsCalculate";
5
- import { PayrollProcessingRequestStatus as f } from "@gusto/embedded-api/models/components/payrollprocessingrequest";
6
- import { useTranslation as v } from "react-i18next";
7
- import { usePayrollsUpdateMutation as j } from "@gusto/embedded-api/react-query/payrollsUpdate";
8
- import { usePayrollsGetBlockersSuspense as I } from "@gusto/embedded-api/react-query/payrollsGetBlockers";
9
- import { payrollSubmitHandler as z } from "../PayrollBlocker/payrollHelpers.js";
10
- import { PayrollConfigurationPresentation as J } from "./PayrollConfigurationPresentation.js";
11
- import { usePayrollConfigurationData as Q } from "./usePayrollConfigurationData.js";
12
- import { BaseComponent as X } from "../../Base/Base.js";
13
- import { componentEvents as s } from "../../../shared/constants.js";
14
- import { useComponentDictionary as Z, useI18n as $ } from "../../../i18n/I18n.js";
15
- import { useBase as ee } from "../../Base/useBase.js";
16
- import { useDateFormatter as te } from "../../../hooks/useDateFormatter.js";
17
- const ae = (t) => t?.status === f.Calculating, oe = (t) => t?.status === f.CalculateSuccess;
18
- function De(t) {
19
- return /* @__PURE__ */ m(X, { ...t, children: /* @__PURE__ */ m(le, { ...t, children: t.children }) });
1
+ import { jsx as C, jsxs as re, Fragment as ie } from "react/jsx-runtime";
2
+ import { useState as P, useEffect as ne } from "react";
3
+ import { usePayrollsGetSuspense as pe } from "@gusto/embedded-api/react-query/payrollsGet";
4
+ import { usePayrollsCalculateMutation as ue } from "@gusto/embedded-api/react-query/payrollsCalculate";
5
+ import { PayrollProcessingRequestStatus as h } from "@gusto/embedded-api/models/components/payrollprocessingrequest";
6
+ import { useTranslation as ce } from "react-i18next";
7
+ import { usePayrollsUpdateMutation as me } from "@gusto/embedded-api/react-query/payrollsUpdate";
8
+ import { usePayrollsCalculateGrossUpMutation as ye } from "@gusto/embedded-api/react-query/payrollsCalculateGrossUp";
9
+ import { usePayrollsGetBlockersSuspense as de } from "@gusto/embedded-api/react-query/payrollsGetBlockers";
10
+ import { payrollSubmitHandler as fe } from "../PayrollBlocker/payrollHelpers.js";
11
+ import { PayrollConfigurationPresentation as Pe } from "./PayrollConfigurationPresentation.js";
12
+ import { usePayrollConfigurationData as Ce } from "./usePayrollConfigurationData.js";
13
+ import { isGrossUpEligible as Ue, getGrossUpTargetCompensationName as ge } from "./grossUpHelpers.js";
14
+ import { BaseComponent as Se } from "../../Base/Base.js";
15
+ import { componentEvents as r } from "../../../shared/constants.js";
16
+ import { useComponentDictionary as he, useI18n as Le } from "../../../i18n/I18n.js";
17
+ import { useBase as we } from "../../Base/useBase.js";
18
+ import { useDateFormatter as Re } from "../../../hooks/useDateFormatter.js";
19
+ import { GrossUpModal as _e } from "../GrossUpModal/GrossUpModal.js";
20
+ const De = (o) => o?.status === h.Calculating, Ee = (o) => o?.status === h.CalculateSuccess;
21
+ function Xe(o) {
22
+ return /* @__PURE__ */ C(Se, { ...o, children: /* @__PURE__ */ C(be, { ...o, children: o.children }) });
20
23
  }
21
- const le = ({
22
- onEvent: t,
23
- companyId: i,
24
- payrollId: l,
25
- dictionary: g,
26
- alerts: C,
27
- withReimbursements: L = !0
24
+ const be = ({
25
+ onEvent: o,
26
+ companyId: p,
27
+ payrollId: i,
28
+ dictionary: G,
29
+ alerts: x,
30
+ withReimbursements: T = !0
28
31
  }) => {
29
- Z("Payroll.PayrollConfiguration", g), $("Payroll.PayrollConfiguration");
30
- const { t: r } = v("Payroll.PayrollConfiguration"), { baseSubmitHandler: d } = ee(), n = te(), [o, c] = h(!1), {
31
- employeeDetails: D,
32
- employeeCompensations: w,
33
- paySchedule: k,
34
- payPeriod: R,
35
- isOffCycle: _,
36
- offCycleReason: A,
37
- pagination: E,
38
- isLoading: b,
39
- refetch: x
40
- } = Q({
41
- companyId: i,
42
- payrollId: l
43
- }), { data: a } = K(
32
+ he("Payroll.PayrollConfiguration", G), Le("Payroll.PayrollConfiguration");
33
+ const { t: u } = ce("Payroll.PayrollConfiguration"), { baseSubmitHandler: y } = we(), c = Re(), [n, d] = P(!1), {
34
+ employeeDetails: M,
35
+ employeeCompensations: L,
36
+ paySchedule: N,
37
+ payPeriod: Y,
38
+ isOffCycle: w,
39
+ offCycleReason: U,
40
+ pagination: q,
41
+ isLoading: B,
42
+ refetch: R
43
+ } = Ce({
44
+ companyId: p,
45
+ payrollId: i
46
+ }), { data: t } = pe(
44
47
  {
45
- companyId: i,
46
- payrollId: l,
48
+ companyId: p,
49
+ payrollId: i,
47
50
  include: ["taxes", "benefits", "deductions", "payroll_status_meta"]
48
51
  },
49
- { refetchInterval: o ? 5e3 : !1 }
50
- ), { mutateAsync: O, isPending: P } = V(), { mutateAsync: U, isPending: N } = j(), { data: B } = I({
51
- companyUuid: i
52
- }), S = (B.payrollBlockerList ?? []).map((e) => ({
52
+ { refetchInterval: n ? 5e3 : !1 }
53
+ ), { mutateAsync: j, isPending: _ } = ue(), { mutateAsync: D, isPending: W } = me(), { mutateAsync: F, isPending: H } = ye(), [m, E] = P(null), [V, g] = P(!1), b = Ue(w, U), f = ge(U), K = (e) => {
54
+ E(e), g(!0), o(r.RUN_PAYROLL_GROSS_UP_SELECTED, { employeeUuid: e });
55
+ }, J = async (e) => {
56
+ if (!m) return null;
57
+ let s = null;
58
+ return await y(null, async () => {
59
+ s = (await F({
60
+ request: {
61
+ payrollUuid: i,
62
+ payrollGrossUpRequest: {
63
+ employeeUuid: m,
64
+ netPay: e.toString()
65
+ }
66
+ }
67
+ })).payrollGrossUpResponse?.grossUp ?? null, s && o(r.RUN_PAYROLL_GROSS_UP_CALCULATED, {
68
+ grossUp: s,
69
+ netPay: e,
70
+ employeeUuid: m
71
+ });
72
+ }), s;
73
+ }, z = async (e) => {
74
+ if (!m || !f)
75
+ throw new Error("Unable to apply gross-up: missing employee or target compensation.");
76
+ const s = L.find((a) => a.employeeUuid === m);
77
+ if (!s)
78
+ throw new Error("Unable to apply gross-up: employee compensation not found.");
79
+ const l = s.fixedCompensations ?? [], ae = l.some(
80
+ (a) => a.name?.toLowerCase() === f.toLowerCase()
81
+ ), k = l.map((a) => ({
82
+ name: a.name,
83
+ jobUuid: a.jobUuid,
84
+ amount: a.name?.toLowerCase() === f.toLowerCase() ? e : "0"
85
+ }));
86
+ if (!ae) {
87
+ const a = s.hourlyCompensations?.[0]?.jobUuid ?? l[0]?.jobUuid ?? "";
88
+ k.push({
89
+ name: f,
90
+ jobUuid: a,
91
+ amount: e
92
+ });
93
+ }
94
+ const te = (s.hourlyCompensations ?? []).map((a) => ({
95
+ name: a.name,
96
+ jobUuid: a.jobUuid,
97
+ hours: "0"
98
+ })), se = (s.paidTimeOff ?? []).map((a) => ({
99
+ name: a.name,
100
+ hours: "0"
101
+ })), le = O({
102
+ ...s,
103
+ fixedCompensations: k,
104
+ hourlyCompensations: te,
105
+ paidTimeOff: se
106
+ });
107
+ await y({}, async () => {
108
+ const a = await D({
109
+ request: {
110
+ companyId: p,
111
+ payrollId: i,
112
+ payrollUpdate: {
113
+ employeeCompensations: [{ ...le, excluded: !1 }]
114
+ }
115
+ }
116
+ });
117
+ o(r.RUN_PAYROLL_EMPLOYEE_SAVED, {
118
+ payrollPrepared: a.payrollPrepared
119
+ }), await R();
120
+ }), E(null), g(!1);
121
+ }, Q = async (e) => {
122
+ try {
123
+ await z(e);
124
+ } catch {
125
+ }
126
+ }, { data: X } = de({
127
+ companyUuid: p
128
+ }), A = (X.payrollBlockerList ?? []).map((e) => ({
53
129
  key: e.key ?? "unknown",
54
130
  message: e.message
55
- })), [M, p] = h(S), T = async () => {
56
- p([]), await d({}, async () => {
57
- const e = await z(async () => {
58
- await O({
131
+ })), [Z, S] = P(A), $ = async () => {
132
+ S([]), await y({}, async () => {
133
+ const e = await fe(async () => {
134
+ await j({
59
135
  request: {
60
- companyId: i,
61
- payrollId: l
136
+ companyId: p,
137
+ payrollId: i
62
138
  }
63
- }), c(!0);
139
+ }), d(!0);
64
140
  });
65
- !e.success && e.blockers.length > 0 && p(e.blockers);
141
+ !e.success && e.blockers.length > 0 && S(e.blockers);
66
142
  });
67
- }, W = (e) => {
68
- t(s.RUN_PAYROLL_EMPLOYEE_EDIT, {
143
+ }, v = (e) => {
144
+ o(r.RUN_PAYROLL_EMPLOYEE_EDIT, {
69
145
  employeeId: e.uuid,
70
146
  firstName: e.firstName,
71
147
  lastName: e.lastName
72
148
  });
73
- }, Y = ({
149
+ }, O = ({
74
150
  paymentMethod: e,
75
- reimbursements: y,
76
- ...u
151
+ reimbursements: s,
152
+ ...l
77
153
  }) => ({
78
- ...u,
154
+ ...l,
79
155
  ...e && e !== "Historical" ? { paymentMethod: e } : {},
80
- memo: u.memo || void 0
81
- }), q = async (e) => {
82
- t(s.RUN_PAYROLL_EMPLOYEE_SKIP, {
156
+ memo: l.memo || void 0
157
+ }), I = async (e) => {
158
+ o(r.RUN_PAYROLL_EMPLOYEE_SKIP, {
83
159
  employeeId: e.employeeUuid
84
- }), await d({}, async () => {
85
- const y = Y(e), u = await U({
160
+ }), await y({}, async () => {
161
+ const s = O(e), l = await D({
86
162
  request: {
87
- companyId: i,
88
- payrollId: l,
163
+ companyId: p,
164
+ payrollId: i,
89
165
  payrollUpdate: {
90
166
  employeeCompensations: [
91
- { ...y, excluded: !y.excluded }
167
+ { ...s, excluded: !s.excluded }
92
168
  ]
93
169
  }
94
170
  }
95
171
  });
96
- t(s.RUN_PAYROLL_EMPLOYEE_SAVED, {
97
- payrollPrepared: u.payrollPrepared
98
- }), await x();
172
+ o(r.RUN_PAYROLL_EMPLOYEE_SAVED, {
173
+ payrollPrepared: l.payrollPrepared
174
+ }), await R();
99
175
  });
100
- }, F = () => {
101
- t(s.RUN_PAYROLL_BLOCKERS_VIEW_ALL);
176
+ }, ee = () => {
177
+ o(r.RUN_PAYROLL_BLOCKERS_VIEW_ALL);
102
178
  };
103
- H(() => {
104
- ae(a.payrollShow?.processingRequest) && !o && c(!0), o && oe(a.payrollShow?.processingRequest) && (t(s.RUN_PAYROLL_CALCULATED, {
105
- payrollId: l,
179
+ ne(() => {
180
+ De(t.payrollShow?.processingRequest) && !n && d(!0), n && Ee(t.payrollShow?.processingRequest) && (o(r.RUN_PAYROLL_CALCULATED, {
181
+ payrollId: i,
106
182
  alert: {
107
183
  type: "success",
108
- title: r("alerts.progressSaved"),
184
+ title: u("alerts.progressSaved"),
109
185
  alertKey: "progressSaved"
110
186
  },
111
- payPeriod: a.payrollShow?.payPeriod
112
- }), p([]), c(!1)), o && a.payrollShow?.processingRequest?.status === f.ProcessingFailed && (t(s.RUN_PAYROLL_PROCESSING_FAILED), c(!1));
113
- }, [a.payrollShow?.processingRequest, o, t, r, l]);
114
- const G = a.payrollShow?.payrollStatusMeta?.payrollLate && a.payrollShow.payrollStatusMeta.initialCheckDate && a.payrollShow.payrollStatusMeta.expectedDebitTime && a.payrollShow.payrollStatusMeta.expectedCheckDate ? {
115
- label: r("alerts.payrollLate", {
116
- initialCheckDate: n.formatShortWithWeekday(
117
- a.payrollShow.payrollStatusMeta.initialCheckDate
187
+ payPeriod: t.payrollShow?.payPeriod
188
+ }), S([]), d(!1)), n && t.payrollShow?.processingRequest?.status === h.ProcessingFailed && (o(r.RUN_PAYROLL_PROCESSING_FAILED), d(!1));
189
+ }, [t.payrollShow?.processingRequest, n, o, u, i]);
190
+ const oe = t.payrollShow?.payrollStatusMeta?.payrollLate && t.payrollShow.payrollStatusMeta.initialCheckDate && t.payrollShow.payrollStatusMeta.expectedDebitTime && t.payrollShow.payrollStatusMeta.expectedCheckDate ? {
191
+ label: u("alerts.payrollLate", {
192
+ initialCheckDate: c.formatShortWithWeekday(
193
+ t.payrollShow.payrollStatusMeta.initialCheckDate
118
194
  )
119
195
  }),
120
- content: r("alerts.payrollLateText", {
121
- ...n.formatWithTime(
122
- a.payrollShow.payrollStatusMeta.expectedDebitTime
196
+ content: u("alerts.payrollLateText", {
197
+ ...c.formatWithTime(
198
+ t.payrollShow.payrollStatusMeta.expectedDebitTime
123
199
  ),
124
- newCheckDate: n.formatShortWithWeekday(
125
- a.payrollShow.payrollStatusMeta.expectedCheckDate
200
+ newCheckDate: c.formatShortWithWeekday(
201
+ t.payrollShow.payrollStatusMeta.expectedCheckDate
126
202
  )
127
203
  }),
128
204
  variant: "warning"
129
- } : a.payrollShow ? {
130
- label: r("alerts.directDepositDeadline", {
131
- payDate: n.formatShortWithWeekday(a.payrollShow.checkDate),
132
- ...n.formatWithTime(a.payrollShow.payrollDeadline)
205
+ } : t.payrollShow ? {
206
+ label: u("alerts.directDepositDeadline", {
207
+ payDate: c.formatShortWithWeekday(t.payrollShow.checkDate),
208
+ ...c.formatWithTime(t.payrollShow.payrollDeadline)
133
209
  }),
134
- content: r("alerts.directDepositDeadlineText"),
210
+ content: u("alerts.directDepositDeadlineText"),
135
211
  variant: "info"
136
212
  } : void 0;
137
- return /* @__PURE__ */ m(
138
- J,
139
- {
140
- onCalculatePayroll: T,
141
- isCalculateDisabled: S.length > 0,
142
- onEdit: W,
143
- onToggleExclude: q,
144
- onViewBlockers: F,
145
- employeeCompensations: w,
146
- employeeDetails: D,
147
- payPeriod: R,
148
- paySchedule: k,
149
- isOffCycle: _,
150
- offCycleReason: A,
151
- alerts: C,
152
- payrollAlert: G,
153
- isPending: o || b || N || P,
154
- isCalculating: P || o,
155
- payrollBlockers: M,
156
- pagination: E,
157
- withReimbursements: L
158
- }
159
- );
213
+ return /* @__PURE__ */ re(ie, { children: [
214
+ /* @__PURE__ */ C(
215
+ Pe,
216
+ {
217
+ onCalculatePayroll: $,
218
+ isCalculateDisabled: A.length > 0,
219
+ onEdit: v,
220
+ onToggleExclude: I,
221
+ onViewBlockers: ee,
222
+ employeeCompensations: L,
223
+ employeeDetails: M,
224
+ payPeriod: Y,
225
+ paySchedule: N,
226
+ isOffCycle: w,
227
+ offCycleReason: U,
228
+ alerts: x,
229
+ payrollAlert: oe,
230
+ isPending: n || B || W || _,
231
+ isCalculating: _ || n,
232
+ payrollBlockers: Z,
233
+ pagination: q,
234
+ withReimbursements: T,
235
+ grossUpEnabled: b,
236
+ onGrossUpSelect: K
237
+ }
238
+ ),
239
+ b && /* @__PURE__ */ C(
240
+ _e,
241
+ {
242
+ isOpen: V,
243
+ onCalculateGrossUp: J,
244
+ isPending: H,
245
+ onApply: Q,
246
+ onCancel: () => {
247
+ g(!1);
248
+ }
249
+ }
250
+ )
251
+ ] });
160
252
  };
161
253
  export {
162
- De as PayrollConfiguration,
163
- le as Root
254
+ Xe as PayrollConfiguration,
255
+ be as Root
164
256
  };
165
257
  //# sourceMappingURL=PayrollConfiguration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollConfiguration.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/PayrollConfiguration.tsx"],"sourcesContent":["import { useEffect, useState, type ReactNode } from 'react'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { usePayrollsCalculateMutation } from '@gusto/embedded-api/react-query/payrollsCalculate'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { PayrollProcessingRequest } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { PayrollProcessingRequestStatus } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { useTranslation } from 'react-i18next'\nimport { usePayrollsUpdateMutation } from '@gusto/embedded-api/react-query/payrollsUpdate'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport type { PayrollUpdateEmployeeCompensations } from '@gusto/embedded-api/models/components/payrollupdate'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api/react-query/payrollsGetBlockers'\nimport { payrollSubmitHandler, type ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollConfigurationPresentation } from './PayrollConfigurationPresentation'\nimport { usePayrollConfigurationData } from './usePayrollConfigurationData'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { useBase } from '@/components/Base'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\n\nconst isCalculating = (processingRequest?: PayrollProcessingRequest | null) =>\n processingRequest?.status === PayrollProcessingRequestStatus.Calculating\nconst isCalculated = (processingRequest?: PayrollProcessingRequest | null) =>\n processingRequest?.status === PayrollProcessingRequestStatus.CalculateSuccess\n\ninterface PayrollConfigurationProps extends BaseComponentInterface<'Payroll.PayrollConfiguration'> {\n companyId: string\n payrollId: string\n alerts?: ReactNode\n withReimbursements?: boolean\n}\n\nexport function PayrollConfiguration(props: PayrollConfigurationProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({\n onEvent,\n companyId,\n payrollId,\n dictionary,\n alerts,\n withReimbursements = true,\n}: PayrollConfigurationProps) => {\n useComponentDictionary('Payroll.PayrollConfiguration', dictionary)\n useI18n('Payroll.PayrollConfiguration')\n const { t } = useTranslation('Payroll.PayrollConfiguration')\n const { baseSubmitHandler } = useBase()\n const dateFormatter = useDateFormatter()\n\n const [isPolling, setIsPolling] = useState(false)\n\n const {\n employeeDetails,\n employeeCompensations,\n paySchedule,\n payPeriod,\n isOffCycle,\n offCycleReason,\n pagination,\n isLoading,\n refetch,\n } = usePayrollConfigurationData({\n companyId,\n payrollId,\n })\n\n const { data: payrollData } = usePayrollsGetSuspense(\n {\n companyId,\n payrollId,\n include: ['taxes', 'benefits', 'deductions', 'payroll_status_meta'],\n },\n { refetchInterval: isPolling ? 5_000 : false },\n )\n\n const { mutateAsync: calculatePayroll, isPending: isCalculatingPayroll } =\n usePayrollsCalculateMutation()\n\n const { mutateAsync: updatePayroll, isPending: isUpdatingPayroll } = usePayrollsUpdateMutation()\n\n const { data: blockersData } = usePayrollsGetBlockersSuspense({\n companyUuid: companyId,\n })\n\n const payrollBlockerList = blockersData.payrollBlockerList ?? []\n\n const blockersFromApi: ApiPayrollBlocker[] = payrollBlockerList.map(blocker => ({\n key: blocker.key ?? 'unknown',\n message: blocker.message,\n }))\n\n const [payrollBlockers, setPayrollBlockers] = useState<ApiPayrollBlocker[]>(blockersFromApi)\n\n const onCalculatePayroll = async () => {\n setPayrollBlockers([])\n\n await baseSubmitHandler({}, async () => {\n const result = await payrollSubmitHandler(async () => {\n await calculatePayroll({\n request: {\n companyId,\n payrollId,\n },\n })\n setIsPolling(true)\n })\n\n if (!result.success && result.blockers.length > 0) {\n setPayrollBlockers(result.blockers)\n }\n })\n }\n\n const onEdit = (employee: Employee) => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_EDIT, {\n employeeId: employee.uuid,\n firstName: employee.firstName,\n lastName: employee.lastName,\n })\n }\n\n const transformEmployeeCompensation = ({\n paymentMethod,\n reimbursements,\n ...compensation\n }: PayrollEmployeeCompensationsType): PayrollUpdateEmployeeCompensations => {\n return {\n ...compensation,\n ...(paymentMethod && paymentMethod !== 'Historical' ? { paymentMethod } : {}),\n memo: compensation.memo || undefined,\n }\n }\n\n const onToggleExclude = async (employeeCompensation: PayrollEmployeeCompensationsType) => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SKIP, {\n employeeId: employeeCompensation.employeeUuid,\n })\n await baseSubmitHandler({}, async () => {\n const transformedCompensation = transformEmployeeCompensation(employeeCompensation)\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [\n { ...transformedCompensation, excluded: !transformedCompensation.excluded },\n ],\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n })\n await refetch()\n })\n }\n\n const onViewBlockers = () => {\n onEvent(componentEvents.RUN_PAYROLL_BLOCKERS_VIEW_ALL)\n }\n\n useEffect(() => {\n if (isCalculating(payrollData.payrollShow?.processingRequest) && !isPolling) {\n setIsPolling(true)\n }\n if (isPolling && isCalculated(payrollData.payrollShow?.processingRequest)) {\n onEvent(componentEvents.RUN_PAYROLL_CALCULATED, {\n payrollId,\n alert: {\n type: 'success',\n title: t('alerts.progressSaved'),\n alertKey: 'progressSaved',\n },\n payPeriod: payrollData.payrollShow?.payPeriod,\n })\n setPayrollBlockers([])\n setIsPolling(false)\n }\n if (\n isPolling &&\n payrollData.payrollShow?.processingRequest?.status ===\n PayrollProcessingRequestStatus.ProcessingFailed\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setIsPolling(false)\n }\n }, [payrollData.payrollShow?.processingRequest, isPolling, onEvent, t, payrollId])\n\n const payrollAlert =\n payrollData.payrollShow?.payrollStatusMeta?.payrollLate &&\n payrollData.payrollShow.payrollStatusMeta.initialCheckDate &&\n payrollData.payrollShow.payrollStatusMeta.expectedDebitTime &&\n payrollData.payrollShow.payrollStatusMeta.expectedCheckDate\n ? {\n label: t('alerts.payrollLate', {\n initialCheckDate: dateFormatter.formatShortWithWeekday(\n payrollData.payrollShow.payrollStatusMeta.initialCheckDate,\n ),\n }),\n content: t('alerts.payrollLateText', {\n ...dateFormatter.formatWithTime(\n payrollData.payrollShow.payrollStatusMeta.expectedDebitTime,\n ),\n newCheckDate: dateFormatter.formatShortWithWeekday(\n payrollData.payrollShow.payrollStatusMeta.expectedCheckDate,\n ),\n }),\n variant: 'warning' as const,\n }\n : payrollData.payrollShow\n ? {\n label: t('alerts.directDepositDeadline', {\n payDate: dateFormatter.formatShortWithWeekday(payrollData.payrollShow.checkDate),\n ...dateFormatter.formatWithTime(payrollData.payrollShow.payrollDeadline),\n }),\n content: t('alerts.directDepositDeadlineText'),\n variant: 'info' as const,\n }\n : undefined\n\n return (\n <PayrollConfigurationPresentation\n onCalculatePayroll={onCalculatePayroll}\n isCalculateDisabled={blockersFromApi.length > 0}\n onEdit={onEdit}\n onToggleExclude={onToggleExclude}\n onViewBlockers={onViewBlockers}\n employeeCompensations={employeeCompensations}\n employeeDetails={employeeDetails}\n payPeriod={payPeriod}\n paySchedule={paySchedule}\n isOffCycle={isOffCycle}\n offCycleReason={offCycleReason}\n alerts={alerts}\n payrollAlert={payrollAlert}\n isPending={isPolling || isLoading || isUpdatingPayroll || isCalculatingPayroll}\n isCalculating={isCalculatingPayroll || isPolling}\n payrollBlockers={payrollBlockers}\n pagination={pagination}\n withReimbursements={withReimbursements}\n />\n )\n}\n"],"names":["isCalculating","processingRequest","PayrollProcessingRequestStatus","isCalculated","PayrollConfiguration","props","jsx","BaseComponent","Root","onEvent","companyId","payrollId","dictionary","alerts","withReimbursements","useComponentDictionary","useI18n","t","useTranslation","baseSubmitHandler","useBase","dateFormatter","useDateFormatter","isPolling","setIsPolling","useState","employeeDetails","employeeCompensations","paySchedule","payPeriod","isOffCycle","offCycleReason","pagination","isLoading","refetch","usePayrollConfigurationData","payrollData","usePayrollsGetSuspense","calculatePayroll","isCalculatingPayroll","usePayrollsCalculateMutation","updatePayroll","isUpdatingPayroll","usePayrollsUpdateMutation","blockersData","usePayrollsGetBlockersSuspense","blockersFromApi","blocker","payrollBlockers","setPayrollBlockers","onCalculatePayroll","result","payrollSubmitHandler","onEdit","employee","componentEvents","transformEmployeeCompensation","paymentMethod","reimbursements","compensation","onToggleExclude","employeeCompensation","transformedCompensation","onViewBlockers","useEffect","payrollAlert","PayrollConfigurationPresentation"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollConfiguration.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/PayrollConfiguration.tsx"],"sourcesContent":["import { useEffect, useState, type ReactNode } from 'react'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { usePayrollsCalculateMutation } from '@gusto/embedded-api/react-query/payrollsCalculate'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { PayrollProcessingRequest } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { PayrollProcessingRequestStatus } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { useTranslation } from 'react-i18next'\nimport { usePayrollsUpdateMutation } from '@gusto/embedded-api/react-query/payrollsUpdate'\nimport { usePayrollsCalculateGrossUpMutation } from '@gusto/embedded-api/react-query/payrollsCalculateGrossUp'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport type { PayrollUpdateEmployeeCompensations } from '@gusto/embedded-api/models/components/payrollupdate'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api/react-query/payrollsGetBlockers'\nimport { payrollSubmitHandler, type ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { GrossUpModal } from '../GrossUpModal'\nimport { PayrollConfigurationPresentation } from './PayrollConfigurationPresentation'\nimport { usePayrollConfigurationData } from './usePayrollConfigurationData'\nimport { getGrossUpTargetCompensationName, isGrossUpEligible } from './grossUpHelpers'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { useBase } from '@/components/Base'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\n\nconst isCalculating = (processingRequest?: PayrollProcessingRequest | null) =>\n processingRequest?.status === PayrollProcessingRequestStatus.Calculating\nconst isCalculated = (processingRequest?: PayrollProcessingRequest | null) =>\n processingRequest?.status === PayrollProcessingRequestStatus.CalculateSuccess\n\ninterface PayrollConfigurationProps extends BaseComponentInterface<'Payroll.PayrollConfiguration'> {\n companyId: string\n payrollId: string\n alerts?: ReactNode\n withReimbursements?: boolean\n}\n\nexport function PayrollConfiguration(props: PayrollConfigurationProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({\n onEvent,\n companyId,\n payrollId,\n dictionary,\n alerts,\n withReimbursements = true,\n}: PayrollConfigurationProps) => {\n useComponentDictionary('Payroll.PayrollConfiguration', dictionary)\n useI18n('Payroll.PayrollConfiguration')\n const { t } = useTranslation('Payroll.PayrollConfiguration')\n const { baseSubmitHandler } = useBase()\n const dateFormatter = useDateFormatter()\n\n const [isPolling, setIsPolling] = useState(false)\n\n const {\n employeeDetails,\n employeeCompensations,\n paySchedule,\n payPeriod,\n isOffCycle,\n offCycleReason,\n pagination,\n isLoading,\n refetch,\n } = usePayrollConfigurationData({\n companyId,\n payrollId,\n })\n\n const { data: payrollData } = usePayrollsGetSuspense(\n {\n companyId,\n payrollId,\n include: ['taxes', 'benefits', 'deductions', 'payroll_status_meta'],\n },\n { refetchInterval: isPolling ? 5_000 : false },\n )\n\n const { mutateAsync: calculatePayroll, isPending: isCalculatingPayroll } =\n usePayrollsCalculateMutation()\n\n const { mutateAsync: updatePayroll, isPending: isUpdatingPayroll } = usePayrollsUpdateMutation()\n\n const { mutateAsync: calculateGrossUpMutation, isPending: isGrossUpPending } =\n usePayrollsCalculateGrossUpMutation()\n\n const [grossUpEmployeeUuid, setGrossUpEmployeeUuid] = useState<string | null>(null)\n const [isGrossUpModalOpen, setIsGrossUpModalOpen] = useState(false)\n\n const grossUpEnabled = isGrossUpEligible(isOffCycle, offCycleReason)\n const grossUpTargetCompensation = getGrossUpTargetCompensationName(offCycleReason)\n\n const onGrossUpSelect = (employeeUuid: string) => {\n setGrossUpEmployeeUuid(employeeUuid)\n setIsGrossUpModalOpen(true)\n onEvent(componentEvents.RUN_PAYROLL_GROSS_UP_SELECTED, { employeeUuid })\n }\n\n const onCalculateGrossUp = async (netPay: number): Promise<string | null> => {\n if (!grossUpEmployeeUuid) return null\n let grossUp: string | null = null\n\n await baseSubmitHandler(null, async () => {\n const result = await calculateGrossUpMutation({\n request: {\n payrollUuid: payrollId,\n payrollGrossUpRequest: {\n employeeUuid: grossUpEmployeeUuid,\n netPay: netPay.toString(),\n },\n },\n })\n\n grossUp = result.payrollGrossUpResponse?.grossUp ?? null\n\n if (grossUp) {\n onEvent(componentEvents.RUN_PAYROLL_GROSS_UP_CALCULATED, {\n grossUp,\n netPay,\n employeeUuid: grossUpEmployeeUuid,\n })\n }\n })\n\n return grossUp\n }\n\n const onGrossUpApply = async (grossAmount: string) => {\n if (!grossUpEmployeeUuid || !grossUpTargetCompensation) {\n throw new Error('Unable to apply gross-up: missing employee or target compensation.')\n }\n\n const employeeComp = employeeCompensations.find(ec => ec.employeeUuid === grossUpEmployeeUuid)\n if (!employeeComp) {\n throw new Error('Unable to apply gross-up: employee compensation not found.')\n }\n\n const existingFixed = employeeComp.fixedCompensations ?? []\n const hasTargetCompensation = existingFixed.some(\n fc => fc.name?.toLowerCase() === grossUpTargetCompensation.toLowerCase(),\n )\n\n const updatedFixedCompensations = existingFixed.map(fc => ({\n name: fc.name,\n jobUuid: fc.jobUuid,\n amount:\n fc.name?.toLowerCase() === grossUpTargetCompensation.toLowerCase() ? grossAmount : '0',\n }))\n\n if (!hasTargetCompensation) {\n const primaryJobUuid =\n employeeComp.hourlyCompensations?.[0]?.jobUuid ?? existingFixed[0]?.jobUuid ?? ''\n updatedFixedCompensations.push({\n name: grossUpTargetCompensation,\n jobUuid: primaryJobUuid,\n amount: grossAmount,\n })\n }\n\n const updatedHourlyCompensations = (employeeComp.hourlyCompensations ?? []).map(hc => ({\n name: hc.name,\n jobUuid: hc.jobUuid,\n hours: '0',\n }))\n\n const updatedPaidTimeOff = (employeeComp.paidTimeOff ?? []).map(pto => ({\n name: pto.name,\n hours: '0',\n }))\n\n const transformedCompensation = transformEmployeeCompensation({\n ...employeeComp,\n fixedCompensations: updatedFixedCompensations,\n hourlyCompensations: updatedHourlyCompensations,\n paidTimeOff: updatedPaidTimeOff,\n })\n\n await baseSubmitHandler({}, async () => {\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [{ ...transformedCompensation, excluded: false }],\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n })\n await refetch()\n })\n\n setGrossUpEmployeeUuid(null)\n setIsGrossUpModalOpen(false)\n }\n\n const handleGrossUpApply = async (grossAmount: string) => {\n try {\n await onGrossUpApply(grossAmount)\n } catch {\n // Modal stays open; error is surfaced by baseSubmitHandler\n }\n }\n\n const { data: blockersData } = usePayrollsGetBlockersSuspense({\n companyUuid: companyId,\n })\n\n const payrollBlockerList = blockersData.payrollBlockerList ?? []\n\n const blockersFromApi: ApiPayrollBlocker[] = payrollBlockerList.map(blocker => ({\n key: blocker.key ?? 'unknown',\n message: blocker.message,\n }))\n\n const [payrollBlockers, setPayrollBlockers] = useState<ApiPayrollBlocker[]>(blockersFromApi)\n\n const onCalculatePayroll = async () => {\n setPayrollBlockers([])\n\n await baseSubmitHandler({}, async () => {\n const result = await payrollSubmitHandler(async () => {\n await calculatePayroll({\n request: {\n companyId,\n payrollId,\n },\n })\n setIsPolling(true)\n })\n\n if (!result.success && result.blockers.length > 0) {\n setPayrollBlockers(result.blockers)\n }\n })\n }\n\n const onEdit = (employee: Employee) => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_EDIT, {\n employeeId: employee.uuid,\n firstName: employee.firstName,\n lastName: employee.lastName,\n })\n }\n\n const transformEmployeeCompensation = ({\n paymentMethod,\n reimbursements,\n ...compensation\n }: PayrollEmployeeCompensationsType): PayrollUpdateEmployeeCompensations => {\n return {\n ...compensation,\n ...(paymentMethod && paymentMethod !== 'Historical' ? { paymentMethod } : {}),\n memo: compensation.memo || undefined,\n }\n }\n\n const onToggleExclude = async (employeeCompensation: PayrollEmployeeCompensationsType) => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SKIP, {\n employeeId: employeeCompensation.employeeUuid,\n })\n await baseSubmitHandler({}, async () => {\n const transformedCompensation = transformEmployeeCompensation(employeeCompensation)\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [\n { ...transformedCompensation, excluded: !transformedCompensation.excluded },\n ],\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n })\n await refetch()\n })\n }\n\n const onViewBlockers = () => {\n onEvent(componentEvents.RUN_PAYROLL_BLOCKERS_VIEW_ALL)\n }\n\n useEffect(() => {\n if (isCalculating(payrollData.payrollShow?.processingRequest) && !isPolling) {\n setIsPolling(true)\n }\n if (isPolling && isCalculated(payrollData.payrollShow?.processingRequest)) {\n onEvent(componentEvents.RUN_PAYROLL_CALCULATED, {\n payrollId,\n alert: {\n type: 'success',\n title: t('alerts.progressSaved'),\n alertKey: 'progressSaved',\n },\n payPeriod: payrollData.payrollShow?.payPeriod,\n })\n setPayrollBlockers([])\n setIsPolling(false)\n }\n if (\n isPolling &&\n payrollData.payrollShow?.processingRequest?.status ===\n PayrollProcessingRequestStatus.ProcessingFailed\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setIsPolling(false)\n }\n }, [payrollData.payrollShow?.processingRequest, isPolling, onEvent, t, payrollId])\n\n const payrollAlert =\n payrollData.payrollShow?.payrollStatusMeta?.payrollLate &&\n payrollData.payrollShow.payrollStatusMeta.initialCheckDate &&\n payrollData.payrollShow.payrollStatusMeta.expectedDebitTime &&\n payrollData.payrollShow.payrollStatusMeta.expectedCheckDate\n ? {\n label: t('alerts.payrollLate', {\n initialCheckDate: dateFormatter.formatShortWithWeekday(\n payrollData.payrollShow.payrollStatusMeta.initialCheckDate,\n ),\n }),\n content: t('alerts.payrollLateText', {\n ...dateFormatter.formatWithTime(\n payrollData.payrollShow.payrollStatusMeta.expectedDebitTime,\n ),\n newCheckDate: dateFormatter.formatShortWithWeekday(\n payrollData.payrollShow.payrollStatusMeta.expectedCheckDate,\n ),\n }),\n variant: 'warning' as const,\n }\n : payrollData.payrollShow\n ? {\n label: t('alerts.directDepositDeadline', {\n payDate: dateFormatter.formatShortWithWeekday(payrollData.payrollShow.checkDate),\n ...dateFormatter.formatWithTime(payrollData.payrollShow.payrollDeadline),\n }),\n content: t('alerts.directDepositDeadlineText'),\n variant: 'info' as const,\n }\n : undefined\n\n return (\n <>\n <PayrollConfigurationPresentation\n onCalculatePayroll={onCalculatePayroll}\n isCalculateDisabled={blockersFromApi.length > 0}\n onEdit={onEdit}\n onToggleExclude={onToggleExclude}\n onViewBlockers={onViewBlockers}\n employeeCompensations={employeeCompensations}\n employeeDetails={employeeDetails}\n payPeriod={payPeriod}\n paySchedule={paySchedule}\n isOffCycle={isOffCycle}\n offCycleReason={offCycleReason}\n alerts={alerts}\n payrollAlert={payrollAlert}\n isPending={isPolling || isLoading || isUpdatingPayroll || isCalculatingPayroll}\n isCalculating={isCalculatingPayroll || isPolling}\n payrollBlockers={payrollBlockers}\n pagination={pagination}\n withReimbursements={withReimbursements}\n grossUpEnabled={grossUpEnabled}\n onGrossUpSelect={onGrossUpSelect}\n />\n {grossUpEnabled && (\n <GrossUpModal\n isOpen={isGrossUpModalOpen}\n onCalculateGrossUp={onCalculateGrossUp}\n isPending={isGrossUpPending}\n onApply={handleGrossUpApply}\n onCancel={() => {\n setIsGrossUpModalOpen(false)\n }}\n />\n )}\n </>\n )\n}\n"],"names":["isCalculating","processingRequest","PayrollProcessingRequestStatus","isCalculated","PayrollConfiguration","props","jsx","BaseComponent","Root","onEvent","companyId","payrollId","dictionary","alerts","withReimbursements","useComponentDictionary","useI18n","t","useTranslation","baseSubmitHandler","useBase","dateFormatter","useDateFormatter","isPolling","setIsPolling","useState","employeeDetails","employeeCompensations","paySchedule","payPeriod","isOffCycle","offCycleReason","pagination","isLoading","refetch","usePayrollConfigurationData","payrollData","usePayrollsGetSuspense","calculatePayroll","isCalculatingPayroll","usePayrollsCalculateMutation","updatePayroll","isUpdatingPayroll","usePayrollsUpdateMutation","calculateGrossUpMutation","isGrossUpPending","usePayrollsCalculateGrossUpMutation","grossUpEmployeeUuid","setGrossUpEmployeeUuid","isGrossUpModalOpen","setIsGrossUpModalOpen","grossUpEnabled","isGrossUpEligible","grossUpTargetCompensation","getGrossUpTargetCompensationName","onGrossUpSelect","employeeUuid","componentEvents","onCalculateGrossUp","netPay","grossUp","onGrossUpApply","grossAmount","employeeComp","ec","existingFixed","hasTargetCompensation","fc","updatedFixedCompensations","primaryJobUuid","updatedHourlyCompensations","hc","updatedPaidTimeOff","pto","transformedCompensation","transformEmployeeCompensation","result","handleGrossUpApply","blockersData","usePayrollsGetBlockersSuspense","blockersFromApi","blocker","payrollBlockers","setPayrollBlockers","onCalculatePayroll","payrollSubmitHandler","onEdit","employee","paymentMethod","reimbursements","compensation","onToggleExclude","employeeCompensation","onViewBlockers","useEffect","payrollAlert","jsxs","Fragment","PayrollConfigurationPresentation","GrossUpModal"],"mappings":"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"}
@@ -29,6 +29,8 @@ interface PayrollConfigurationPresentationProps {
29
29
  pagination?: PaginationControlProps;
30
30
  withReimbursements?: boolean;
31
31
  isCalculateDisabled?: boolean;
32
+ grossUpEnabled?: boolean;
33
+ onGrossUpSelect?: (employeeUuid: string) => void;
32
34
  }
33
- export declare const PayrollConfigurationPresentation: ({ employeeCompensations, employeeDetails, payPeriod, paySchedule, onEdit, onToggleExclude, onCalculatePayroll, onViewBlockers, isOffCycle, offCycleReason, alerts, payrollAlert, isPending, isCalculating, payrollBlockers, pagination, withReimbursements, isCalculateDisabled, }: PayrollConfigurationPresentationProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const PayrollConfigurationPresentation: ({ employeeCompensations, employeeDetails, payPeriod, paySchedule, onEdit, onToggleExclude, onCalculatePayroll, onViewBlockers, isOffCycle, offCycleReason, alerts, payrollAlert, isPending, isCalculating, payrollBlockers, pagination, withReimbursements, isCalculateDisabled, grossUpEnabled, onGrossUpSelect, }: PayrollConfigurationPresentationProps) => import("react/jsx-runtime").JSX.Element;
34
36
  export {};