@gusto/embedded-react-sdk 0.55.0 → 0.55.2
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.
- package/CHANGELOG.md +36 -0
- package/dist/components/Common/TaxInputs/TaxInputs.js +65 -64
- package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
- package/dist/components/Common/UI/Select/Select.module.scss.js +5 -5
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.d.ts +4 -2
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +148 -117
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +56 -55
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.d.ts +1 -1
- package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.js +15 -12
- package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/HistoricalPaymentFlow.d.ts +69 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/HistoricalPaymentFlow.js +48 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/HistoricalPaymentFlow.js.map +1 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/HistoricalPaymentFlowComponents.d.ts +20 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/HistoricalPaymentFlowComponents.js +25 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/HistoricalPaymentFlowComponents.js.map +1 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/historicalPaymentMachine.d.ts +20 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/historicalPaymentMachine.js +24 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/historicalPaymentMachine.js.map +1 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentFlow/index.d.ts +2 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +16 -15
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +2 -0
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +36 -23
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +10 -8
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +46 -25
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +53 -52
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +37 -47
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +47 -44
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +2 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +65 -53
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.module.scss.js +6 -4
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.module.scss.js.map +1 -1
- package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.d.ts +1 -1
- package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.js +22 -19
- package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.d.ts +2 -8
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.js +43 -42
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.js.map +1 -1
- package/dist/components/Contractor/Payments/shared/paymentAmounts.d.ts +32 -0
- package/dist/components/Contractor/Payments/shared/paymentAmounts.js +11 -0
- package/dist/components/Contractor/Payments/shared/paymentAmounts.js.map +1 -0
- package/dist/components/Contractor/Payments/shared/paymentAmounts.test.d.ts +1 -0
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.d.ts +13 -4
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js +43 -38
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js.map +1 -1
- package/dist/components/Contractor/exports/contractorManagement.d.ts +1 -0
- package/dist/components/Contractor/exports/contractorManagement.js +34 -32
- package/dist/components/Contractor/exports/contractorManagement.js.map +1 -1
- package/dist/components/Contractor/shared/SelectContractors/SelectContractors.d.ts +6 -1
- package/dist/components/Contractor/shared/SelectContractors/SelectContractors.js +13 -12
- package/dist/components/Contractor/shared/SelectContractors/SelectContractors.js.map +1 -1
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.d.ts +5 -1
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js +34 -32
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +7 -0
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +191 -153
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +1 -0
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +87 -81
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +1 -0
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +73 -48
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js +22 -20
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +3 -0
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js +22 -20
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +2 -0
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +34 -26
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.d.ts +4 -0
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +51 -43
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +2 -0
- package/dist/components/Payroll/PayrollList/PayrollList.js +48 -47
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +2 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +44 -43
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +7 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +115 -112
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +2 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +94 -103
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +22 -16
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +58 -49
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecks.d.ts +21 -0
- package/dist/components/Payroll/PrintChecks/PrintChecks.js +68 -0
- package/dist/components/Payroll/PrintChecks/PrintChecks.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.d.ts +9 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js +34 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/index.d.ts +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksComponents.d.ts +48 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksComponents.js +26 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksComponents.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.d.ts +14 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +47 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/index.d.ts +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.d.ts +16 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +144 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/index.d.ts +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.d.ts +14 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js +39 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/index.d.ts +1 -0
- package/dist/components/Payroll/PrintChecks/index.d.ts +2 -0
- package/dist/components/Payroll/PrintChecks/printChecksStateMachine.d.ts +33 -0
- package/dist/components/Payroll/PrintChecks/printChecksStateMachine.js +93 -0
- package/dist/components/Payroll/PrintChecks/printChecksStateMachine.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/types.d.ts +14 -0
- package/dist/components/Payroll/index.d.ts +2 -0
- package/dist/components/Payroll/index.js +26 -24
- package/dist/components/Payroll/index.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +6 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +36 -34
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/UnstableFeaturesProvider.d.ts +22 -0
- package/dist/contexts/UnstableFeaturesProvider/UnstableFeaturesProvider.js +14 -0
- package/dist/contexts/UnstableFeaturesProvider/UnstableFeaturesProvider.js.map +1 -0
- package/dist/contexts/UnstableFeaturesProvider/WithUnstableFeature.d.ts +19 -0
- package/dist/contexts/UnstableFeaturesProvider/WithUnstableFeature.js +8 -0
- package/dist/contexts/UnstableFeaturesProvider/WithUnstableFeature.js.map +1 -0
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +41 -0
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js +14 -0
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -0
- package/dist/contexts/index.d.ts +1 -0
- package/dist/i18n/I18n.js +4 -0
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Contractor.Payments.CreateHistoricalPayment.json.js +34 -32
- package/dist/i18n/en/Contractor.Payments.CreateHistoricalPayment.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js +20 -18
- package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +9 -9
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +38 -38
- package/dist/i18n/en/Payroll.PayrollReceipts.json.js +2 -2
- package/dist/i18n/en/Payroll.PrintChecksBanner.json.js +14 -0
- package/dist/i18n/en/Payroll.PrintChecksBanner.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PrintChecksFailure.json.js +12 -0
- package/dist/i18n/en/Payroll.PrintChecksFailure.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PrintChecksForm.json.js +28 -0
- package/dist/i18n/en/Payroll.PrintChecksForm.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PrintChecksSummary.json.js +14 -0
- package/dist/i18n/en/Payroll.PrintChecksSummary.json.js.map +1 -0
- package/dist/i18n/en/common.json.d.ts +0 -21
- package/dist/i18n/types.d.ts +75 -9
- package/dist/models/external.d.ts +3 -0
- package/dist/partner-hook-utils/form/buildFormSchema.js +60 -54
- package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
- package/dist/shared/constants.d.ts +30 -0
- package/dist/shared/constants.js +62 -50
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/test-utils/renderWithProviders.d.ts +4 -1
- package/dist/test-utils/tableQueries.d.ts +9 -0
- package/docs/guides/endpoint-inventory.json +33 -0
- package/package.json +18 -18
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { jsx as a, jsxs as b } from "react/jsx-runtime";
|
|
2
2
|
import { OffCycleReasonType as m } from "@gusto/embedded-api/models/components/payrollshow";
|
|
3
|
-
import { useRef as
|
|
4
|
-
import { useTranslation as
|
|
5
|
-
import { getPayrollTypeLabel as
|
|
3
|
+
import { useRef as fe, useMemo as q, useState as z } from "react";
|
|
4
|
+
import { useTranslation as pe } from "react-i18next";
|
|
5
|
+
import { getPayrollTypeLabel as De } from "../helpers.js";
|
|
6
6
|
import i from "./PayrollListPresentation.module.scss.js";
|
|
7
7
|
import { Flex as O } from "../../Common/Flex/Flex.js";
|
|
8
8
|
import { EmptyData as V } from "../../Common/EmptyData/EmptyData.js";
|
|
9
|
-
import { HamburgerMenu as
|
|
10
|
-
import { DateRangeFilter as
|
|
11
|
-
import { useComponentContext as
|
|
12
|
-
import { useI18n as
|
|
13
|
-
import { formatDateToStringDate as
|
|
14
|
-
import { useDateFormatter as
|
|
15
|
-
import
|
|
16
|
-
import { PayrollStatusBadges as
|
|
17
|
-
import { DataView as
|
|
9
|
+
import { HamburgerMenu as Pe } from "../../Common/HamburgerMenu/HamburgerMenu.js";
|
|
10
|
+
import { DateRangeFilter as Ce } from "../../Common/DateRangeFilter/DateRangeFilter.js";
|
|
11
|
+
import { useComponentContext as he } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
|
+
import { useI18n as be } from "../../../i18n/I18n.js";
|
|
13
|
+
import { formatDateToStringDate as ge } from "../../../helpers/dateFormatting.js";
|
|
14
|
+
import { useDateFormatter as Se } from "../../../hooks/useDateFormatter.js";
|
|
15
|
+
import ke from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
|
|
16
|
+
import { PayrollStatusBadges as Le } from "../PayrollStatusBadges/PayrollStatusBadges.js";
|
|
17
|
+
import { DataView as Ae } from "../../Common/DataView/DataView.js";
|
|
18
18
|
const G = /* @__PURE__ */ new Set([
|
|
19
19
|
m.Bonus,
|
|
20
20
|
m.Correction,
|
|
21
21
|
m.DismissedEmployee
|
|
22
22
|
]);
|
|
23
|
-
function
|
|
23
|
+
function Oe(r, g, y) {
|
|
24
24
|
if (r.processed) return !1;
|
|
25
25
|
const f = r.payPeriod?.startDate ? new Date(r.payPeriod.startDate) : null, S = !r.offCycle || r.offCycleReason === m.TransitionFromOldPaySchedule, c = g.length === 0 && S && y && f && y >= f, k = r.offCycle && !!r.offCycleReason && G.has(r.offCycleReason);
|
|
26
26
|
return !!(c || k);
|
|
27
27
|
}
|
|
28
|
-
const
|
|
28
|
+
const qe = ({
|
|
29
29
|
onRunPayroll: r,
|
|
30
30
|
onSubmitPayroll: g,
|
|
31
31
|
onSkipPayroll: y,
|
|
@@ -43,21 +43,22 @@ const Ke = ({
|
|
|
43
43
|
blockers: L,
|
|
44
44
|
wireInRequests: ee,
|
|
45
45
|
dateRangeFilter: s,
|
|
46
|
-
hasUnprocessedTransitions: te = !1
|
|
46
|
+
hasUnprocessedTransitions: te = !1,
|
|
47
|
+
withOffcyclePayroll: ae = !0
|
|
47
48
|
}) => {
|
|
48
|
-
const { Box:
|
|
49
|
-
|
|
50
|
-
const { t } =
|
|
51
|
-
const e =
|
|
49
|
+
const { Box: le, BoxHeader: oe, Button: A, ButtonIcon: v, Dialog: N, Heading: re, Text: ne, Alert: E } = he();
|
|
50
|
+
be("Payroll.PayrollList");
|
|
51
|
+
const { t } = pe("Payroll.PayrollList"), d = Se(), B = fe(null), T = ke({ ref: B }).includes("large"), p = q(() => {
|
|
52
|
+
const e = ge(/* @__PURE__ */ new Date());
|
|
52
53
|
return e ? new Date(e) : null;
|
|
53
54
|
}, []), F = q(
|
|
54
|
-
() => c.some((e) =>
|
|
55
|
+
() => c.some((e) => Oe(e, L, p)),
|
|
55
56
|
[c, L, p]
|
|
56
57
|
), [D, H] = z({
|
|
57
58
|
isOpen: !1,
|
|
58
59
|
payrollId: null,
|
|
59
60
|
payPeriod: null
|
|
60
|
-
}),
|
|
61
|
+
}), ie = (e, l) => {
|
|
61
62
|
H({
|
|
62
63
|
isOpen: !0,
|
|
63
64
|
payrollId: e,
|
|
@@ -69,13 +70,13 @@ const Ke = ({
|
|
|
69
70
|
payrollId: null,
|
|
70
71
|
payPeriod: null
|
|
71
72
|
});
|
|
72
|
-
},
|
|
73
|
+
}, se = () => {
|
|
73
74
|
D.payrollId && (y({ payrollUuid: D.payrollId }), M());
|
|
74
75
|
}, [P, w] = z({
|
|
75
76
|
isOpen: !1,
|
|
76
77
|
payrollId: null,
|
|
77
78
|
payPeriod: null
|
|
78
|
-
}),
|
|
79
|
+
}), ce = (e, l) => {
|
|
79
80
|
w({
|
|
80
81
|
isOpen: !0,
|
|
81
82
|
payrollId: e,
|
|
@@ -87,7 +88,7 @@ const Ke = ({
|
|
|
87
88
|
payrollId: null,
|
|
88
89
|
payPeriod: null
|
|
89
90
|
});
|
|
90
|
-
},
|
|
91
|
+
}, de = () => {
|
|
91
92
|
P.payrollId && (f({ payrollUuid: P.payrollId }), R());
|
|
92
93
|
}, U = (e, l) => {
|
|
93
94
|
const n = d.formatShort(e), o = d.formatShortWithYear(l);
|
|
@@ -145,9 +146,9 @@ const Ke = ({
|
|
|
145
146
|
}
|
|
146
147
|
) }),
|
|
147
148
|
/* @__PURE__ */ b(O, { justifyContent: "space-between", alignItems: "center", children: [
|
|
148
|
-
/* @__PURE__ */ a(
|
|
149
|
+
/* @__PURE__ */ a(re, { as: "h2", children: t("title") }),
|
|
149
150
|
/* @__PURE__ */ a(
|
|
150
|
-
|
|
151
|
+
Ce,
|
|
151
152
|
{
|
|
152
153
|
startDate: s.startDate,
|
|
153
154
|
endDate: s.endDate,
|
|
@@ -167,7 +168,7 @@ const Ke = ({
|
|
|
167
168
|
)
|
|
168
169
|
] }),
|
|
169
170
|
/* @__PURE__ */ a(
|
|
170
|
-
|
|
171
|
+
Ae,
|
|
171
172
|
{
|
|
172
173
|
breakAt: "large",
|
|
173
174
|
pagination: k,
|
|
@@ -190,13 +191,13 @@ const Ke = ({
|
|
|
190
191
|
l,
|
|
191
192
|
" - ",
|
|
192
193
|
n,
|
|
193
|
-
/* @__PURE__ */ a(
|
|
194
|
+
/* @__PURE__ */ a(ne, { variant: "supporting", size: "sm", children: I.find((o) => o.uuid === e?.payScheduleUuid)?.name || I.find((o) => o.uuid === e?.payScheduleUuid)?.customName })
|
|
194
195
|
] });
|
|
195
196
|
},
|
|
196
197
|
title: t("tableHeaders.0")
|
|
197
198
|
},
|
|
198
199
|
{
|
|
199
|
-
render: (e) =>
|
|
200
|
+
render: (e) => De(e),
|
|
200
201
|
title: t("tableHeaders.1")
|
|
201
202
|
},
|
|
202
203
|
{
|
|
@@ -213,7 +214,7 @@ const Ke = ({
|
|
|
213
214
|
const l = ee.find(
|
|
214
215
|
(n) => n.paymentUuid === e.payrollUuid
|
|
215
216
|
);
|
|
216
|
-
return /* @__PURE__ */ a(
|
|
217
|
+
return /* @__PURE__ */ a(Le, { payroll: e, wireInRequest: l });
|
|
217
218
|
}
|
|
218
219
|
},
|
|
219
220
|
...T ? [] : [
|
|
@@ -243,25 +244,25 @@ const Ke = ({
|
|
|
243
244
|
const { fullPeriod: u } = U(
|
|
244
245
|
o?.startDate,
|
|
245
246
|
o?.endDate
|
|
246
|
-
), j = o?.startDate ? new Date(o.startDate) : null,
|
|
247
|
+
), j = o?.startDate ? new Date(o.startDate) : null, ue = !e.offCycle || e.offCycleReason === m.TransitionFromOldPaySchedule, _ = L.length === 0 && ue && p && j && p >= j, me = e.offCycle && !!e.offCycleReason && G.has(e.offCycleReason), K = _ ? [
|
|
247
248
|
{
|
|
248
249
|
label: t("skipPayrollCta"),
|
|
249
250
|
onClick: () => {
|
|
250
|
-
|
|
251
|
+
ie(l, u);
|
|
251
252
|
}
|
|
252
253
|
}
|
|
253
|
-
] :
|
|
254
|
+
] : me ? [
|
|
254
255
|
{
|
|
255
256
|
label: t("deletePayrollCta"),
|
|
256
257
|
onClick: () => {
|
|
257
|
-
|
|
258
|
+
ce(l, u);
|
|
258
259
|
}
|
|
259
260
|
}
|
|
260
|
-
] : null,
|
|
261
|
+
] : null, ye = K !== null;
|
|
261
262
|
return /* @__PURE__ */ b("div", { className: i.actionsContainer, children: [
|
|
262
263
|
Y,
|
|
263
|
-
|
|
264
|
-
|
|
264
|
+
ye ? /* @__PURE__ */ a(
|
|
265
|
+
Pe,
|
|
265
266
|
{
|
|
266
267
|
isLoading: _ ? C : h,
|
|
267
268
|
menuLabel: t("payrollMenuLabel"),
|
|
@@ -286,7 +287,7 @@ const Ke = ({
|
|
|
286
287
|
{
|
|
287
288
|
isOpen: D.isOpen,
|
|
288
289
|
onClose: M,
|
|
289
|
-
onPrimaryActionClick:
|
|
290
|
+
onPrimaryActionClick: se,
|
|
290
291
|
isDestructive: !0,
|
|
291
292
|
title: t("skipPayrollDialog.title", { payPeriod: D.payPeriod }),
|
|
292
293
|
primaryActionLabel: t("skipPayrollDialog.confirmCta"),
|
|
@@ -299,7 +300,7 @@ const Ke = ({
|
|
|
299
300
|
{
|
|
300
301
|
isOpen: P.isOpen,
|
|
301
302
|
onClose: R,
|
|
302
|
-
onPrimaryActionClick:
|
|
303
|
+
onPrimaryActionClick: de,
|
|
303
304
|
isDestructive: !0,
|
|
304
305
|
title: t("deletePayrollDialog.title", {
|
|
305
306
|
payPeriod: P.payPeriod
|
|
@@ -309,11 +310,11 @@ const Ke = ({
|
|
|
309
310
|
children: t("deletePayrollDialog.body")
|
|
310
311
|
}
|
|
311
312
|
),
|
|
312
|
-
/* @__PURE__ */ a("div", { className: i.offCycleCta, children: /* @__PURE__ */ a(
|
|
313
|
-
|
|
313
|
+
ae && /* @__PURE__ */ a("div", { className: i.offCycleCta, children: /* @__PURE__ */ a(
|
|
314
|
+
le,
|
|
314
315
|
{
|
|
315
316
|
header: /* @__PURE__ */ a(
|
|
316
|
-
|
|
317
|
+
oe,
|
|
317
318
|
{
|
|
318
319
|
title: t("offCycleCta.title"),
|
|
319
320
|
description: t("offCycleCta.description")
|
|
@@ -325,6 +326,6 @@ const Ke = ({
|
|
|
325
326
|
] }) });
|
|
326
327
|
};
|
|
327
328
|
export {
|
|
328
|
-
|
|
329
|
+
qe as PayrollListPresentation
|
|
329
330
|
};
|
|
330
331
|
//# sourceMappingURL=PayrollListPresentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import type { Payroll } from '@gusto/embedded-api/models/components/payrollshow'\nimport { OffCycleReasonType } from '@gusto/embedded-api/models/components/payrollshow'\nimport type { PayScheduleShow } from '@gusto/embedded-api/models/components/payscheduleshow'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { useState, useRef, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollTypeLabel } from '../helpers'\nimport styles from './PayrollListPresentation.module.scss'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport { DataView, Flex, HamburgerMenu, DateRangeFilter, EmptyData } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport type { UseDateRangeFilterResult } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\nimport { useI18n } from '@/i18n'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\nconst CANCELLABLE_OFF_CYCLE_REASONS = new Set<string>([\n OffCycleReasonType.Bonus,\n OffCycleReasonType.Correction,\n OffCycleReasonType.DismissedEmployee,\n])\n\nfunction hasKebabActions(\n payroll: Payroll,\n blockers: ApiPayrollBlocker[],\n todayAtMidnight: Date | null,\n): boolean {\n if (payroll.processed) return false\n\n const payPeriodStartDate = payroll.payPeriod?.startDate\n ? new Date(payroll.payPeriod.startDate)\n : null\n\n const isSkippablePayroll =\n !payroll.offCycle || payroll.offCycleReason === OffCycleReasonType.TransitionFromOldPaySchedule\n\n const canSkipPayroll =\n blockers.length === 0 &&\n isSkippablePayroll &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const canDeletePayroll =\n payroll.offCycle &&\n !!payroll.offCycleReason &&\n CANCELLABLE_OFF_CYCLE_REASONS.has(payroll.offCycleReason)\n\n return !!(canSkipPayroll || canDeletePayroll)\n}\n\ninterface PayrollListPresentationProps {\n onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onDeletePayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onRunOffCyclePayroll: () => void\n payrolls: Payroll[]\n pagination?: PaginationControlProps\n paySchedules: PayScheduleShow[]\n showSkipSuccessAlert: boolean\n onDismissSkipSuccessAlert: () => void\n showDeleteSuccessAlert: boolean\n onDismissDeleteSuccessAlert: () => void\n skippingPayrollId: string | null\n deletingPayrollId: string | null\n blockers: ApiPayrollBlocker[]\n wireInRequests: WireInRequest[]\n dateRangeFilter: UseDateRangeFilterResult\n hasUnprocessedTransitions?: boolean\n}\n\n/** @internal */\nexport const PayrollListPresentation = ({\n onRunPayroll,\n onSubmitPayroll,\n onSkipPayroll,\n onDeletePayroll,\n onRunOffCyclePayroll,\n payrolls,\n pagination,\n paySchedules,\n showSkipSuccessAlert,\n onDismissSkipSuccessAlert,\n showDeleteSuccessAlert,\n onDismissDeleteSuccessAlert,\n skippingPayrollId,\n deletingPayrollId,\n blockers,\n wireInRequests,\n dateRangeFilter,\n hasUnprocessedTransitions = false,\n}: PayrollListPresentationProps) => {\n const { Box, BoxHeader, Button, ButtonIcon, Dialog, Heading, Text, Alert } = useComponentContext()\n useI18n('Payroll.PayrollList')\n const { t } = useTranslation('Payroll.PayrollList')\n const dateFormatter = useDateFormatter()\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isDesktop = breakpoints.includes('large')\n\n const todayAtMidnight = useMemo(() => {\n const todayDateString = formatDateToStringDate(new Date())\n return todayDateString ? new Date(todayDateString) : null\n }, [])\n\n const anyPayrollHasKebabActions = useMemo(\n () => payrolls.some(payroll => hasKebabActions(payroll, blockers, todayAtMidnight)),\n [payrolls, blockers, todayAtMidnight],\n )\n\n const [skipPayrollDialogState, setSkipPayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenSkipDialog = (payrollId: string, payPeriod: string) => {\n setSkipPayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseSkipDialog = () => {\n setSkipPayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmSkipPayroll = () => {\n if (skipPayrollDialogState.payrollId) {\n onSkipPayroll({ payrollUuid: skipPayrollDialogState.payrollId })\n handleCloseSkipDialog()\n }\n }\n\n const [deletePayrollDialogState, setDeletePayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenDeleteDialog = (payrollId: string, payPeriod: string) => {\n setDeletePayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseDeleteDialog = () => {\n setDeletePayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmDeletePayroll = () => {\n if (deletePayrollDialogState.payrollId) {\n onDeletePayroll({ payrollUuid: deletePayrollDialogState.payrollId })\n handleCloseDeleteDialog()\n }\n }\n\n const formatPayPeriod = (startDate: string | undefined, endDate: string | undefined) => {\n const formattedStartDate = dateFormatter.formatShort(startDate)\n const formattedEndDate = dateFormatter.formatShortWithYear(endDate)\n\n return {\n startDate: formattedStartDate,\n endDate: formattedEndDate,\n fullPeriod: dateFormatter.formatPayPeriodRange(startDate, endDate, { useShortMonth: true }),\n }\n }\n\n const renderActionButton = (payroll: Payroll) => {\n const { payrollUuid, calculatedAt, processed, payPeriod } = payroll\n\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n const isRegular = !payroll.offCycle\n const isDisabledByTransition = isRegular && hasUnprocessedTransitions\n\n return calculatedAt ? (\n <Button\n isLoading={isProcessingSkipPayroll}\n isDisabled={isDisabledByTransition}\n onClick={() => {\n onSubmitPayroll({ payrollUuid, payPeriod })\n }}\n title={t('submitPayrollCta')}\n variant=\"secondary\"\n >\n {t('submitPayrollCta')}\n </Button>\n ) : (\n <Button\n isLoading={isProcessingSkipPayroll}\n isDisabled={isDisabledByTransition}\n onClick={() => {\n onRunPayroll({ payrollUuid, payPeriod })\n }}\n title={t('runPayrollTitle')}\n variant=\"secondary\"\n >\n {t('runPayrollTitle')}\n </Button>\n )\n }\n\n return (\n <div ref={containerRef} className={styles.container}>\n <Flex flexDirection=\"column\" gap={16} alignItems=\"stretch\">\n {showSkipSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('skipSuccessAlert')}\n onDismiss={onDismissSkipSuccessAlert}\n />\n </div>\n )}\n {showDeleteSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('deleteSuccessAlert')}\n onDismiss={onDismissDeleteSuccessAlert}\n />\n </div>\n )}\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <DateRangeFilter\n startDate={dateRangeFilter.startDate}\n endDate={dateRangeFilter.endDate}\n onStartDateChange={dateRangeFilter.handleStartDateChange}\n onEndDateChange={dateRangeFilter.handleEndDateChange}\n onClear={dateRangeFilter.handleClearFilter}\n startDateLabel={t('dateFilter.startDate')}\n endDateLabel={t('dateFilter.endDate')}\n applyLabel={t('dateFilter.apply')}\n cancelLabel={t('dateFilter.cancel')}\n resetLabel={t('dateFilter.reset')}\n selectDatesLabel={t('dateFilter.selectDates')}\n triggerLabel={t('dateFilter.trigger')}\n maxEndDate={dateRangeFilter.getMaxEndDate()}\n minStartDate={dateRangeFilter.getMinStartDate()}\n />\n </Flex>\n\n <DataView\n breakAt=\"large\"\n pagination={pagination}\n emptyState={() =>\n dateRangeFilter.isModified ? (\n <EmptyData\n title={t('emptyState.filtered.title')}\n description={t('emptyState.filtered.description')}\n />\n ) : (\n <EmptyData title={t('emptyState.default.title')} />\n )\n }\n data={payrolls}\n columns={[\n {\n render: ({ payPeriod }) => {\n const { startDate, endDate } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n return (\n <div className={styles.payPeriodCell}>\n {startDate} - {endDate}\n <Text variant=\"supporting\" size=\"sm\">\n {paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.name ||\n paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.customName}\n </Text>\n </div>\n )\n },\n title: t('tableHeaders.0'),\n },\n {\n render: payroll => getPayrollTypeLabel(payroll),\n title: t('tableHeaders.1'),\n },\n {\n render: ({ checkDate }) => dateFormatter.formatShortWithWeekdayAndYear(checkDate),\n title: t('tableHeaders.2'),\n },\n {\n title: t('tableHeaders.3'),\n render: ({ payrollDeadline }) =>\n dateFormatter.formatShortWithWeekdayAndYear(payrollDeadline),\n },\n {\n title: t('tableHeaders.4'),\n render: payroll => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === payroll.payrollUuid,\n )\n return <PayrollStatusBadges payroll={payroll} wireInRequest={wireInRequest} />\n },\n },\n ...(!isDesktop\n ? [\n {\n title: '',\n render: (payroll: Payroll) => {\n const button = renderActionButton(payroll)\n if (!button) return null\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={12}>\n {button}\n </Flex>\n )\n },\n },\n ]\n : []),\n ]}\n label={t('payrollsListLabel')}\n itemMenu={payroll => {\n const { payrollUuid, processed, payPeriod } = payroll\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n const isProcessingDeletePayroll = deletingPayrollId === payrollUuid\n\n const button = isDesktop ? renderActionButton(payroll) : null\n\n if (processed) {\n return (\n <div className={styles.actionsContainer}>\n {anyPayrollHasKebabActions && (\n <ButtonIcon\n aria-label=\"\"\n aria-hidden={true}\n tabIndex={-1}\n isDisabled={true}\n className={styles.menuPlaceholder}\n />\n )}\n </div>\n )\n }\n\n const { fullPeriod: payPeriodString } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n const payPeriodStartDate = payPeriod?.startDate ? new Date(payPeriod.startDate) : null\n\n const isSkippablePayroll =\n !payroll.offCycle ||\n payroll.offCycleReason === OffCycleReasonType.TransitionFromOldPaySchedule\n\n const canSkipPayroll =\n blockers.length === 0 &&\n isSkippablePayroll &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const canDeletePayroll =\n payroll.offCycle &&\n !!payroll.offCycleReason &&\n CANCELLABLE_OFF_CYCLE_REASONS.has(payroll.offCycleReason)\n\n const menuItems = canSkipPayroll\n ? [\n {\n label: t('skipPayrollCta'),\n onClick: () => {\n handleOpenSkipDialog(payrollUuid!, payPeriodString)\n },\n },\n ]\n : canDeletePayroll\n ? [\n {\n label: t('deletePayrollCta'),\n onClick: () => {\n handleOpenDeleteDialog(payrollUuid!, payPeriodString)\n },\n },\n ]\n : null\n\n const hasMenuActions = menuItems !== null\n\n return (\n <div className={styles.actionsContainer}>\n {button}\n {hasMenuActions ? (\n <HamburgerMenu\n isLoading={canSkipPayroll ? isProcessingSkipPayroll : isProcessingDeletePayroll}\n menuLabel={t('payrollMenuLabel')}\n items={menuItems}\n />\n ) : (\n anyPayrollHasKebabActions && (\n <ButtonIcon\n aria-label=\"\"\n aria-hidden={true}\n tabIndex={-1}\n isDisabled={true}\n className={styles.menuPlaceholder}\n />\n )\n )}\n </div>\n )\n }}\n />\n <Dialog\n isOpen={skipPayrollDialogState.isOpen}\n onClose={handleCloseSkipDialog}\n onPrimaryActionClick={handleConfirmSkipPayroll}\n isDestructive={true}\n title={t('skipPayrollDialog.title', { payPeriod: skipPayrollDialogState.payPeriod })}\n primaryActionLabel={t('skipPayrollDialog.confirmCta')}\n closeActionLabel={t('skipPayrollDialog.cancelCta')}\n >\n {t('skipPayrollDialog.body')}\n </Dialog>\n <Dialog\n isOpen={deletePayrollDialogState.isOpen}\n onClose={handleCloseDeleteDialog}\n onPrimaryActionClick={handleConfirmDeletePayroll}\n isDestructive={true}\n title={t('deletePayrollDialog.title', {\n payPeriod: deletePayrollDialogState.payPeriod,\n })}\n primaryActionLabel={t('deletePayrollDialog.confirmCta')}\n closeActionLabel={t('deletePayrollDialog.cancelCta')}\n >\n {t('deletePayrollDialog.body')}\n </Dialog>\n <div className={styles.offCycleCta}>\n <Box\n header={\n <BoxHeader\n title={t('offCycleCta.title')}\n description={t('offCycleCta.description')}\n />\n }\n footer={\n <Button variant=\"secondary\" onClick={onRunOffCyclePayroll}>\n {t('offCycleCta.button')}\n </Button>\n }\n />\n </div>\n </Flex>\n </div>\n )\n}\n"],"names":["CANCELLABLE_OFF_CYCLE_REASONS","OffCycleReasonType","hasKebabActions","payroll","blockers","todayAtMidnight","payPeriodStartDate","isSkippablePayroll","canSkipPayroll","canDeletePayroll","PayrollListPresentation","onRunPayroll","onSubmitPayroll","onSkipPayroll","onDeletePayroll","onRunOffCyclePayroll","payrolls","pagination","paySchedules","showSkipSuccessAlert","onDismissSkipSuccessAlert","showDeleteSuccessAlert","onDismissDeleteSuccessAlert","skippingPayrollId","deletingPayrollId","wireInRequests","dateRangeFilter","hasUnprocessedTransitions","Box","BoxHeader","Button","ButtonIcon","Dialog","Heading","Text","Alert","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","containerRef","useRef","isDesktop","useContainerBreakpoints","useMemo","todayDateString","formatDateToStringDate","anyPayrollHasKebabActions","skipPayrollDialogState","setSkipPayrollDialogState","useState","handleOpenSkipDialog","payrollId","payPeriod","handleCloseSkipDialog","handleConfirmSkipPayroll","deletePayrollDialogState","setDeletePayrollDialogState","handleOpenDeleteDialog","handleCloseDeleteDialog","handleConfirmDeletePayroll","formatPayPeriod","startDate","endDate","formattedStartDate","formattedEndDate","renderActionButton","payrollUuid","calculatedAt","processed","isProcessingSkipPayroll","isDisabledByTransition","jsx","styles","jsxs","Flex","DateRangeFilter","DataView","EmptyData","schedule","getPayrollTypeLabel","checkDate","payrollDeadline","wireInRequest","wire","PayrollStatusBadges","button","isProcessingDeletePayroll","payPeriodString","menuItems","hasMenuActions","HamburgerMenu"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import type { Payroll } from '@gusto/embedded-api/models/components/payrollshow'\nimport { OffCycleReasonType } from '@gusto/embedded-api/models/components/payrollshow'\nimport type { PayScheduleShow } from '@gusto/embedded-api/models/components/payscheduleshow'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { useState, useRef, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollTypeLabel } from '../helpers'\nimport styles from './PayrollListPresentation.module.scss'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport { DataView, Flex, HamburgerMenu, DateRangeFilter, EmptyData } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport type { UseDateRangeFilterResult } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\nimport { useI18n } from '@/i18n'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\nconst CANCELLABLE_OFF_CYCLE_REASONS = new Set<string>([\n OffCycleReasonType.Bonus,\n OffCycleReasonType.Correction,\n OffCycleReasonType.DismissedEmployee,\n])\n\nfunction hasKebabActions(\n payroll: Payroll,\n blockers: ApiPayrollBlocker[],\n todayAtMidnight: Date | null,\n): boolean {\n if (payroll.processed) return false\n\n const payPeriodStartDate = payroll.payPeriod?.startDate\n ? new Date(payroll.payPeriod.startDate)\n : null\n\n const isSkippablePayroll =\n !payroll.offCycle || payroll.offCycleReason === OffCycleReasonType.TransitionFromOldPaySchedule\n\n const canSkipPayroll =\n blockers.length === 0 &&\n isSkippablePayroll &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const canDeletePayroll =\n payroll.offCycle &&\n !!payroll.offCycleReason &&\n CANCELLABLE_OFF_CYCLE_REASONS.has(payroll.offCycleReason)\n\n return !!(canSkipPayroll || canDeletePayroll)\n}\n\ninterface PayrollListPresentationProps {\n onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onDeletePayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onRunOffCyclePayroll: () => void\n payrolls: Payroll[]\n pagination?: PaginationControlProps\n paySchedules: PayScheduleShow[]\n showSkipSuccessAlert: boolean\n onDismissSkipSuccessAlert: () => void\n showDeleteSuccessAlert: boolean\n onDismissDeleteSuccessAlert: () => void\n skippingPayrollId: string | null\n deletingPayrollId: string | null\n blockers: ApiPayrollBlocker[]\n wireInRequests: WireInRequest[]\n dateRangeFilter: UseDateRangeFilterResult\n hasUnprocessedTransitions?: boolean\n withOffcyclePayroll?: boolean\n}\n\n/** @internal */\nexport const PayrollListPresentation = ({\n onRunPayroll,\n onSubmitPayroll,\n onSkipPayroll,\n onDeletePayroll,\n onRunOffCyclePayroll,\n payrolls,\n pagination,\n paySchedules,\n showSkipSuccessAlert,\n onDismissSkipSuccessAlert,\n showDeleteSuccessAlert,\n onDismissDeleteSuccessAlert,\n skippingPayrollId,\n deletingPayrollId,\n blockers,\n wireInRequests,\n dateRangeFilter,\n hasUnprocessedTransitions = false,\n withOffcyclePayroll = true,\n}: PayrollListPresentationProps) => {\n const { Box, BoxHeader, Button, ButtonIcon, Dialog, Heading, Text, Alert } = useComponentContext()\n useI18n('Payroll.PayrollList')\n const { t } = useTranslation('Payroll.PayrollList')\n const dateFormatter = useDateFormatter()\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isDesktop = breakpoints.includes('large')\n\n const todayAtMidnight = useMemo(() => {\n const todayDateString = formatDateToStringDate(new Date())\n return todayDateString ? new Date(todayDateString) : null\n }, [])\n\n const anyPayrollHasKebabActions = useMemo(\n () => payrolls.some(payroll => hasKebabActions(payroll, blockers, todayAtMidnight)),\n [payrolls, blockers, todayAtMidnight],\n )\n\n const [skipPayrollDialogState, setSkipPayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenSkipDialog = (payrollId: string, payPeriod: string) => {\n setSkipPayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseSkipDialog = () => {\n setSkipPayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmSkipPayroll = () => {\n if (skipPayrollDialogState.payrollId) {\n onSkipPayroll({ payrollUuid: skipPayrollDialogState.payrollId })\n handleCloseSkipDialog()\n }\n }\n\n const [deletePayrollDialogState, setDeletePayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenDeleteDialog = (payrollId: string, payPeriod: string) => {\n setDeletePayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseDeleteDialog = () => {\n setDeletePayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmDeletePayroll = () => {\n if (deletePayrollDialogState.payrollId) {\n onDeletePayroll({ payrollUuid: deletePayrollDialogState.payrollId })\n handleCloseDeleteDialog()\n }\n }\n\n const formatPayPeriod = (startDate: string | undefined, endDate: string | undefined) => {\n const formattedStartDate = dateFormatter.formatShort(startDate)\n const formattedEndDate = dateFormatter.formatShortWithYear(endDate)\n\n return {\n startDate: formattedStartDate,\n endDate: formattedEndDate,\n fullPeriod: dateFormatter.formatPayPeriodRange(startDate, endDate, { useShortMonth: true }),\n }\n }\n\n const renderActionButton = (payroll: Payroll) => {\n const { payrollUuid, calculatedAt, processed, payPeriod } = payroll\n\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n const isRegular = !payroll.offCycle\n const isDisabledByTransition = isRegular && hasUnprocessedTransitions\n\n return calculatedAt ? (\n <Button\n isLoading={isProcessingSkipPayroll}\n isDisabled={isDisabledByTransition}\n onClick={() => {\n onSubmitPayroll({ payrollUuid, payPeriod })\n }}\n title={t('submitPayrollCta')}\n variant=\"secondary\"\n >\n {t('submitPayrollCta')}\n </Button>\n ) : (\n <Button\n isLoading={isProcessingSkipPayroll}\n isDisabled={isDisabledByTransition}\n onClick={() => {\n onRunPayroll({ payrollUuid, payPeriod })\n }}\n title={t('runPayrollTitle')}\n variant=\"secondary\"\n >\n {t('runPayrollTitle')}\n </Button>\n )\n }\n\n return (\n <div ref={containerRef} className={styles.container}>\n <Flex flexDirection=\"column\" gap={16} alignItems=\"stretch\">\n {showSkipSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('skipSuccessAlert')}\n onDismiss={onDismissSkipSuccessAlert}\n />\n </div>\n )}\n {showDeleteSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('deleteSuccessAlert')}\n onDismiss={onDismissDeleteSuccessAlert}\n />\n </div>\n )}\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <DateRangeFilter\n startDate={dateRangeFilter.startDate}\n endDate={dateRangeFilter.endDate}\n onStartDateChange={dateRangeFilter.handleStartDateChange}\n onEndDateChange={dateRangeFilter.handleEndDateChange}\n onClear={dateRangeFilter.handleClearFilter}\n startDateLabel={t('dateFilter.startDate')}\n endDateLabel={t('dateFilter.endDate')}\n applyLabel={t('dateFilter.apply')}\n cancelLabel={t('dateFilter.cancel')}\n resetLabel={t('dateFilter.reset')}\n selectDatesLabel={t('dateFilter.selectDates')}\n triggerLabel={t('dateFilter.trigger')}\n maxEndDate={dateRangeFilter.getMaxEndDate()}\n minStartDate={dateRangeFilter.getMinStartDate()}\n />\n </Flex>\n\n <DataView\n breakAt=\"large\"\n pagination={pagination}\n emptyState={() =>\n dateRangeFilter.isModified ? (\n <EmptyData\n title={t('emptyState.filtered.title')}\n description={t('emptyState.filtered.description')}\n />\n ) : (\n <EmptyData title={t('emptyState.default.title')} />\n )\n }\n data={payrolls}\n columns={[\n {\n render: ({ payPeriod }) => {\n const { startDate, endDate } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n return (\n <div className={styles.payPeriodCell}>\n {startDate} - {endDate}\n <Text variant=\"supporting\" size=\"sm\">\n {paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.name ||\n paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.customName}\n </Text>\n </div>\n )\n },\n title: t('tableHeaders.0'),\n },\n {\n render: payroll => getPayrollTypeLabel(payroll),\n title: t('tableHeaders.1'),\n },\n {\n render: ({ checkDate }) => dateFormatter.formatShortWithWeekdayAndYear(checkDate),\n title: t('tableHeaders.2'),\n },\n {\n title: t('tableHeaders.3'),\n render: ({ payrollDeadline }) =>\n dateFormatter.formatShortWithWeekdayAndYear(payrollDeadline),\n },\n {\n title: t('tableHeaders.4'),\n render: payroll => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === payroll.payrollUuid,\n )\n return <PayrollStatusBadges payroll={payroll} wireInRequest={wireInRequest} />\n },\n },\n ...(!isDesktop\n ? [\n {\n title: '',\n render: (payroll: Payroll) => {\n const button = renderActionButton(payroll)\n if (!button) return null\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={12}>\n {button}\n </Flex>\n )\n },\n },\n ]\n : []),\n ]}\n label={t('payrollsListLabel')}\n itemMenu={payroll => {\n const { payrollUuid, processed, payPeriod } = payroll\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n const isProcessingDeletePayroll = deletingPayrollId === payrollUuid\n\n const button = isDesktop ? renderActionButton(payroll) : null\n\n if (processed) {\n return (\n <div className={styles.actionsContainer}>\n {anyPayrollHasKebabActions && (\n <ButtonIcon\n aria-label=\"\"\n aria-hidden={true}\n tabIndex={-1}\n isDisabled={true}\n className={styles.menuPlaceholder}\n />\n )}\n </div>\n )\n }\n\n const { fullPeriod: payPeriodString } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n const payPeriodStartDate = payPeriod?.startDate ? new Date(payPeriod.startDate) : null\n\n const isSkippablePayroll =\n !payroll.offCycle ||\n payroll.offCycleReason === OffCycleReasonType.TransitionFromOldPaySchedule\n\n const canSkipPayroll =\n blockers.length === 0 &&\n isSkippablePayroll &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const canDeletePayroll =\n payroll.offCycle &&\n !!payroll.offCycleReason &&\n CANCELLABLE_OFF_CYCLE_REASONS.has(payroll.offCycleReason)\n\n const menuItems = canSkipPayroll\n ? [\n {\n label: t('skipPayrollCta'),\n onClick: () => {\n handleOpenSkipDialog(payrollUuid!, payPeriodString)\n },\n },\n ]\n : canDeletePayroll\n ? [\n {\n label: t('deletePayrollCta'),\n onClick: () => {\n handleOpenDeleteDialog(payrollUuid!, payPeriodString)\n },\n },\n ]\n : null\n\n const hasMenuActions = menuItems !== null\n\n return (\n <div className={styles.actionsContainer}>\n {button}\n {hasMenuActions ? (\n <HamburgerMenu\n isLoading={canSkipPayroll ? isProcessingSkipPayroll : isProcessingDeletePayroll}\n menuLabel={t('payrollMenuLabel')}\n items={menuItems}\n />\n ) : (\n anyPayrollHasKebabActions && (\n <ButtonIcon\n aria-label=\"\"\n aria-hidden={true}\n tabIndex={-1}\n isDisabled={true}\n className={styles.menuPlaceholder}\n />\n )\n )}\n </div>\n )\n }}\n />\n <Dialog\n isOpen={skipPayrollDialogState.isOpen}\n onClose={handleCloseSkipDialog}\n onPrimaryActionClick={handleConfirmSkipPayroll}\n isDestructive={true}\n title={t('skipPayrollDialog.title', { payPeriod: skipPayrollDialogState.payPeriod })}\n primaryActionLabel={t('skipPayrollDialog.confirmCta')}\n closeActionLabel={t('skipPayrollDialog.cancelCta')}\n >\n {t('skipPayrollDialog.body')}\n </Dialog>\n <Dialog\n isOpen={deletePayrollDialogState.isOpen}\n onClose={handleCloseDeleteDialog}\n onPrimaryActionClick={handleConfirmDeletePayroll}\n isDestructive={true}\n title={t('deletePayrollDialog.title', {\n payPeriod: deletePayrollDialogState.payPeriod,\n })}\n primaryActionLabel={t('deletePayrollDialog.confirmCta')}\n closeActionLabel={t('deletePayrollDialog.cancelCta')}\n >\n {t('deletePayrollDialog.body')}\n </Dialog>\n {withOffcyclePayroll && (\n <div className={styles.offCycleCta}>\n <Box\n header={\n <BoxHeader\n title={t('offCycleCta.title')}\n description={t('offCycleCta.description')}\n />\n }\n footer={\n <Button variant=\"secondary\" onClick={onRunOffCyclePayroll}>\n {t('offCycleCta.button')}\n </Button>\n }\n />\n </div>\n )}\n </Flex>\n </div>\n )\n}\n"],"names":["CANCELLABLE_OFF_CYCLE_REASONS","OffCycleReasonType","hasKebabActions","payroll","blockers","todayAtMidnight","payPeriodStartDate","isSkippablePayroll","canSkipPayroll","canDeletePayroll","PayrollListPresentation","onRunPayroll","onSubmitPayroll","onSkipPayroll","onDeletePayroll","onRunOffCyclePayroll","payrolls","pagination","paySchedules","showSkipSuccessAlert","onDismissSkipSuccessAlert","showDeleteSuccessAlert","onDismissDeleteSuccessAlert","skippingPayrollId","deletingPayrollId","wireInRequests","dateRangeFilter","hasUnprocessedTransitions","withOffcyclePayroll","Box","BoxHeader","Button","ButtonIcon","Dialog","Heading","Text","Alert","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","containerRef","useRef","isDesktop","useContainerBreakpoints","useMemo","todayDateString","formatDateToStringDate","anyPayrollHasKebabActions","skipPayrollDialogState","setSkipPayrollDialogState","useState","handleOpenSkipDialog","payrollId","payPeriod","handleCloseSkipDialog","handleConfirmSkipPayroll","deletePayrollDialogState","setDeletePayrollDialogState","handleOpenDeleteDialog","handleCloseDeleteDialog","handleConfirmDeletePayroll","formatPayPeriod","startDate","endDate","formattedStartDate","formattedEndDate","renderActionButton","payrollUuid","calculatedAt","processed","isProcessingSkipPayroll","isDisabledByTransition","jsx","styles","jsxs","Flex","DateRangeFilter","DataView","EmptyData","schedule","getPayrollTypeLabel","checkDate","payrollDeadline","wireInRequest","wire","PayrollStatusBadges","button","isProcessingDeletePayroll","payPeriodString","menuItems","hasMenuActions","HamburgerMenu"],"mappings":"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"}
|
|
@@ -42,6 +42,13 @@ export interface PayrollOverviewProps extends BaseComponentInterface<'Payroll.Pa
|
|
|
42
42
|
* | `runPayroll/receipt/get` | User requested the payroll receipt | `{ payrollId }` |
|
|
43
43
|
* | `runPayroll/pdfPaystub/viewed` | User opened an employee's paystub PDF | `{ employeeId }` |
|
|
44
44
|
* | `payroll/wire/form/done` | Wire-in details were confirmed via the embedded wire form | Submit wire-in response |
|
|
45
|
+
* | `payroll/printChecks/start` | User opened the print-checks modal from the embedded print-checks banner | — |
|
|
46
|
+
* | `payroll/printChecks/generate/start` | User submitted the print-checks form | — |
|
|
47
|
+
* | `payroll/printChecks/generate/succeeded` | Printable checks finished generating | `{ documentUrl }` |
|
|
48
|
+
* | `payroll/printChecks/generate/failed` | The print-checks request was rejected or generation failed | `{ errorMessage }` |
|
|
49
|
+
* | `payroll/printChecks/retry` | User retried after a failed check generation | — |
|
|
50
|
+
* | `payroll/printChecks/cancel` | User cancelled the print-checks form | — |
|
|
51
|
+
* | `payroll/printChecks/close` | User closed the print-checks failure or summary screen | — |
|
|
45
52
|
*
|
|
46
53
|
* @param props - See {@link PayrollOverviewProps}.
|
|
47
54
|
* @returns The payroll overview surface.
|