@gusto/embedded-react-sdk 0.54.0 → 0.54.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.
- package/CHANGELOG.md +39 -0
- package/dist/components/Common/Loading/Loading.d.ts +6 -1
- package/dist/components/Common/Loading/Loading.js +13 -12
- package/dist/components/Common/Loading/Loading.js.map +1 -1
- package/dist/components/Common/Loading/Loading.module.scss.js +1 -1
- package/dist/components/Common/PayrollLoading/PayrollLoading.js +1 -1
- package/dist/components/Common/PayrollLoading/PayrollLoading.js.map +1 -1
- package/dist/components/Common/UI/Alert/Alert.js +8 -8
- package/dist/components/Common/UI/Alert/Alert.js.map +1 -1
- package/dist/components/Common/UI/Alert/Alert.module.scss.js +18 -16
- package/dist/components/Common/UI/Alert/Alert.module.scss.js.map +1 -1
- package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
- package/dist/components/Common/UI/Menu/Menu.js +19 -18
- package/dist/components/Common/UI/Menu/Menu.js.map +1 -1
- package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -5
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -5
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -7
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -5
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -5
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +8 -10
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +6 -8
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.js +2 -2
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -5
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -5
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +20 -19
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +3 -5
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +20 -19
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +29 -28
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js +24 -21
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +11 -11
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -5
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js +14 -13
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -5
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +22 -21
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
- package/dist/components/Contractor/Documents/shared/SignatureForm/useContractorSignatureForm/fields.js +8 -8
- package/dist/components/Contractor/Landing/Landing.js +30 -29
- package/dist/components/Contractor/Landing/Landing.js.map +1 -1
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +18 -17
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.d.ts +41 -0
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +175 -0
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -0
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/index.d.ts +1 -0
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/useFormDictionary.d.ts +18 -0
- package/dist/components/Contractor/Payments/{HistoricalPaymentAmounts → CreateHistoricalPayment}/useFormDictionary.js +37 -7
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/useFormDictionary.js.map +1 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.d.ts +30 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +56 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/index.d.ts +1 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/useFormDictionary.d.ts +9 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/useFormDictionary.js +33 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/useFormDictionary.js.map +1 -0
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +46 -131
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/useFormDictionary.d.ts +9 -0
- package/dist/components/Contractor/Payments/PaymentSummary/useFormDictionary.js +36 -0
- package/dist/components/Contractor/Payments/PaymentSummary/useFormDictionary.js.map +1 -0
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.d.ts +83 -0
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.js +124 -0
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.js.map +1 -0
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/index.d.ts +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +16 -16
- package/dist/components/Contractor/exports/contractorManagement.d.ts +2 -2
- package/dist/components/Contractor/exports/contractorManagement.js +20 -20
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
- package/dist/components/Employee/Documents/management/DocumentManager.js +2 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
- package/dist/components/Employee/Landing/Landing.js +31 -30
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +59 -58
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +4 -4
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +4 -4
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Flow/Flow.js +27 -20
- package/dist/components/Flow/Flow.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +44 -44
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +108 -108
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +8 -10
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +23 -23
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.d.ts +4 -11
- package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.js +8 -8
- package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.js.map +1 -1
- package/dist/i18n/I18n.js +7 -7
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +5 -5
- package/dist/i18n/en/Company.StateTaxes.json.js +1 -1
- package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js +20 -18
- package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js.map +1 -1
- package/dist/i18n/en/Contractor.ManagementContractorList.json.js +46 -44
- package/dist/i18n/en/Contractor.ManagementContractorList.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Payments.CreateHistoricalPayment.json.js +36 -0
- package/dist/i18n/en/Contractor.Payments.CreateHistoricalPayment.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentSummary.json.js +48 -0
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentSummary.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Payments.PaymentSummary.json.js +7 -7
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +29 -27
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -1
- package/dist/i18n/types.d.ts +219 -105
- package/dist/shared/constants.d.ts +12 -4
- package/dist/shared/constants.js +23 -19
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +30 -1
- package/package.json +17 -16
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/HistoricalPaymentAmounts.d.ts +0 -33
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/HistoricalPaymentAmounts.js +0 -62
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/HistoricalPaymentAmounts.js.map +0 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/index.d.ts +0 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/useFormDictionary.d.ts +0 -9
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/useFormDictionary.js.map +0 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentContractors/HistoricalPaymentContractors.d.ts +0 -27
- package/dist/components/Contractor/Payments/HistoricalPaymentContractors/HistoricalPaymentContractors.js +0 -56
- package/dist/components/Contractor/Payments/HistoricalPaymentContractors/HistoricalPaymentContractors.js.map +0 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentContractors/index.d.ts +0 -1
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentAmounts.json.js +0 -36
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentAmounts.json.js.map +0 -1
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentContractors.json.js +0 -18
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentContractors.json.js.map +0 -1
|
@@ -1,143 +1,58 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
onEvent: g,
|
|
19
|
-
onDone: A,
|
|
20
|
-
alerts: d = []
|
|
1
|
+
import { jsxs as s, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as P } from "react-i18next";
|
|
3
|
+
import { usePaymentSummaryDictionary as C } from "./useFormDictionary.js";
|
|
4
|
+
import { Flex as i } from "../../../Common/Flex/Flex.js";
|
|
5
|
+
import { useComponentContext as b } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
6
|
+
import { useI18n as S } from "../../../../i18n/I18n.js";
|
|
7
|
+
import { ConfirmWireDetails as $ } from "../../../Payroll/ConfirmWireDetails/ConfirmWireDetails.js";
|
|
8
|
+
import { PaymentSummaryBlock as T } from "../shared/PaymentSummaryBlock/PaymentSummaryBlock.js";
|
|
9
|
+
const H = ({
|
|
10
|
+
contractorPaymentGroup: o,
|
|
11
|
+
contractors: l,
|
|
12
|
+
bankAccount: u,
|
|
13
|
+
companyId: y,
|
|
14
|
+
wireInRequestUuid: r,
|
|
15
|
+
onEvent: p,
|
|
16
|
+
onDone: d,
|
|
17
|
+
alerts: m = []
|
|
21
18
|
}) => {
|
|
22
|
-
const { Button:
|
|
23
|
-
|
|
24
|
-
const { t } =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return /* @__PURE__ */ l(u, { flexDirection: "column", gap: 24, children: [
|
|
29
|
-
d.length > 0 && /* @__PURE__ */ r(u, { flexDirection: "column", gap: 16, children: d.map((e, o) => /* @__PURE__ */ r(
|
|
30
|
-
p,
|
|
19
|
+
const { Button: f, Text: a, Heading: h, Alert: c } = b();
|
|
20
|
+
S("Contractor.Payments.PaymentSummary");
|
|
21
|
+
const { t: e } = P("Contractor.Payments.PaymentSummary"), g = C(), x = o.contractorPayments || [];
|
|
22
|
+
return /* @__PURE__ */ s(i, { flexDirection: "column", gap: 24, children: [
|
|
23
|
+
m.length > 0 && /* @__PURE__ */ n(i, { flexDirection: "column", gap: 16, children: m.map((t, D) => /* @__PURE__ */ n(
|
|
24
|
+
c,
|
|
31
25
|
{
|
|
32
|
-
label:
|
|
33
|
-
status:
|
|
34
|
-
onDismiss:
|
|
35
|
-
children: typeof
|
|
26
|
+
label: e(`alerts.${t.title}`, t.translationParams),
|
|
27
|
+
status: t.type,
|
|
28
|
+
onDismiss: t.onDismiss,
|
|
29
|
+
children: typeof t.content == "string" ? e(`alerts.${t.content}`) : t.content ?? null
|
|
36
30
|
},
|
|
37
|
-
`${
|
|
31
|
+
`${t.type}-${t.title}-${D}`
|
|
38
32
|
)) }),
|
|
39
|
-
/* @__PURE__ */
|
|
40
|
-
count:
|
|
33
|
+
/* @__PURE__ */ n(c, { status: "success", label: e("successTitle"), children: /* @__PURE__ */ n(a, { children: e("successMessage", {
|
|
34
|
+
count: x.length
|
|
41
35
|
}) }) }),
|
|
42
|
-
|
|
43
|
-
/* @__PURE__ */
|
|
44
|
-
/* @__PURE__ */
|
|
45
|
-
/* @__PURE__ */
|
|
46
|
-
/* @__PURE__ */
|
|
36
|
+
r && /* @__PURE__ */ n($, { companyId: y, wireInId: r, onEvent: p }),
|
|
37
|
+
/* @__PURE__ */ s(i, { justifyContent: "space-between", alignItems: "flex-start", children: [
|
|
38
|
+
/* @__PURE__ */ s(i, { flexDirection: "column", gap: 2, children: [
|
|
39
|
+
/* @__PURE__ */ n(h, { as: "h2", children: e("summaryTitle") }),
|
|
40
|
+
/* @__PURE__ */ n(a, { variant: "supporting", children: e("summarySubtitle", { debitDate: o.debitDate }) })
|
|
47
41
|
] }),
|
|
48
|
-
/* @__PURE__ */
|
|
42
|
+
/* @__PURE__ */ n(f, { onClick: d, variant: "primary", children: e("doneCta") })
|
|
49
43
|
] }),
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
{
|
|
60
|
-
title: t("debitAmount"),
|
|
61
|
-
render: () => n(Number(m.totals?.debitAmount || "0"))
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
title: t("debitAccount"),
|
|
65
|
-
render: () => h?.hiddenAccountNumber ?? t("notAvailable")
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
title: t("debitDate"),
|
|
69
|
-
render: () => m.debitDate || t("notAvailable")
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
title: t("contractorPayDate"),
|
|
73
|
-
render: () => m.checkDate || t("notAvailable")
|
|
74
|
-
}
|
|
75
|
-
],
|
|
76
|
-
data: [m],
|
|
77
|
-
label: t("paymentSummaryTitle")
|
|
78
|
-
}
|
|
79
|
-
),
|
|
80
|
-
i.length > 0 && /* @__PURE__ */ r(
|
|
81
|
-
c,
|
|
82
|
-
{
|
|
83
|
-
columns: [
|
|
84
|
-
{
|
|
85
|
-
title: t("contractor"),
|
|
86
|
-
render: (e) => C(
|
|
87
|
-
y.find(
|
|
88
|
-
(o) => o.uuid === e.contractorUuid
|
|
89
|
-
)
|
|
90
|
-
)
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
title: t("wageType"),
|
|
94
|
-
render: (e) => N(e)
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
title: t("paymentMethod"),
|
|
98
|
-
render: (e) => e.paymentMethod === "Direct Deposit" ? t("paymentMethods.directDeposit") : e.paymentMethod === "Check" ? t("paymentMethods.check") : e.paymentMethod || t("notAvailable")
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
title: t("hours"),
|
|
102
|
-
justify: "end",
|
|
103
|
-
render: (e) => e.wageType === "Hourly" && e.hours ? S(parseFloat(e.hours)) : $
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
title: t("wage"),
|
|
107
|
-
justify: "end",
|
|
108
|
-
render: (e) => n(Number(e.wage || "0"))
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
title: t("bonus"),
|
|
112
|
-
justify: "end",
|
|
113
|
-
render: (e) => n(Number(e.bonus || "0"))
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
title: t("reimbursement"),
|
|
117
|
-
justify: "end",
|
|
118
|
-
render: (e) => n(Number(e.reimbursement || "0"))
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
title: t("total"),
|
|
122
|
-
justify: "end",
|
|
123
|
-
render: (e) => n(Number(e.wageTotal || "0"))
|
|
124
|
-
}
|
|
125
|
-
],
|
|
126
|
-
data: i,
|
|
127
|
-
footer: () => ({
|
|
128
|
-
"column-0": t("totalsLabel"),
|
|
129
|
-
"column-4": n(s.wageAmount || 0),
|
|
130
|
-
"column-5": n(s.bonusAmount || 0),
|
|
131
|
-
"column-6": n(s.reimbursementAmount || 0),
|
|
132
|
-
"column-7": n(s.totalAmount || 0)
|
|
133
|
-
}),
|
|
134
|
-
label: t("contractorPaymentsTitle")
|
|
135
|
-
}
|
|
136
|
-
)
|
|
137
|
-
] })
|
|
44
|
+
/* @__PURE__ */ n(
|
|
45
|
+
T,
|
|
46
|
+
{
|
|
47
|
+
contractorPaymentGroup: o,
|
|
48
|
+
contractors: l,
|
|
49
|
+
bankAccount: u,
|
|
50
|
+
dictionary: g
|
|
51
|
+
}
|
|
52
|
+
)
|
|
138
53
|
] });
|
|
139
54
|
};
|
|
140
55
|
export {
|
|
141
|
-
|
|
56
|
+
H as PaymentSummaryPresentation
|
|
142
57
|
};
|
|
143
58
|
//# sourceMappingURL=PaymentSummaryPresentation.js.map
|
package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentSummaryPresentation.js","sources":["../../../../../src/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { ContractorPaymentGroup } from '@gusto/embedded-api/models/components/contractorpaymentgroup'\nimport type { ContractorPaymentForGroup } from '@gusto/embedded-api/models/components/contractorpaymentforgroup'\nimport { useMemo } from 'react'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport type { CompanyBankAccount } from '@gusto/embedded-api/models/components/companybankaccount'\nimport type { InternalAlert } from '../types'\nimport { getContractorDisplayName } from '../../shared/helpers'\nimport { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatHoursDisplay } from '@/components/Payroll/helpers'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { ConfirmWireDetails } from '@/components/Payroll/ConfirmWireDetails'\nimport type { EventType } from '@/shared/constants'\n\nconst ZERO_HOURS_DISPLAY = '0.000'\n\ninterface PaymentSummaryPresentationProps {\n contractorPaymentGroup: ContractorPaymentGroup\n contractors: Contractor[]\n bankAccount?: CompanyBankAccount\n companyId: string\n wireInRequestUuid?: string\n onEvent: (type: EventType, data?: unknown) => void\n onDone: () => void\n alerts?: InternalAlert[]\n}\n\n/** @internal */\nexport const PaymentSummaryPresentation = ({\n contractorPaymentGroup,\n contractors,\n bankAccount,\n companyId,\n wireInRequestUuid,\n onEvent,\n onDone,\n alerts = [],\n}: PaymentSummaryPresentationProps) => {\n const { Button, Text, Heading, Alert } = useComponentContext()\n useI18n('Contractor.Payments.PaymentSummary')\n const { t } = useTranslation('Contractor.Payments.PaymentSummary')\n const currencyFormatter = useNumberFormatter()\n\n const formatWageType = (contractor: ContractorPaymentForGroup) => {\n if (contractor.wageType === 'Hourly' && contractor.hourlyRate) {\n return `Hourly ${currencyFormatter(Number(contractor.hourlyRate))}/hr`\n }\n return contractor.wageType\n }\n\n const contractorPayments = contractorPaymentGroup.contractorPayments || []\n\n const totals = useMemo(() => {\n if (contractorPayments.length === 0) {\n return { wageAmount: 0, bonusAmount: 0, reimbursementAmount: 0, totalAmount: 0 }\n }\n return contractorPayments.reduce(\n (acc, contractor) => {\n acc.wageAmount += Number(contractor.wage || '0')\n acc.bonusAmount += Number(contractor.bonus || '0')\n acc.reimbursementAmount += Number(contractor.reimbursement || '0')\n acc.totalAmount += Number(contractor.wageTotal || '0')\n return acc\n },\n { wageAmount: 0, bonusAmount: 0, reimbursementAmount: 0, totalAmount: 0 },\n )\n }, [contractorPayments])\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n {alerts.length > 0 && (\n <Flex flexDirection=\"column\" gap={16}>\n {alerts.map((alert, index) => (\n <Alert\n key={`${alert.type}-${alert.title}-${index}`}\n label={t(`alerts.${alert.title}` as never, alert.translationParams)}\n status={alert.type}\n onDismiss={alert.onDismiss}\n >\n {typeof alert.content === 'string'\n ? t(`alerts.${alert.content}` as never)\n : (alert.content ?? null)}\n </Alert>\n ))}\n </Flex>\n )}\n\n <Alert status=\"success\" label={t('successTitle')}>\n <Text>\n {t('successMessage', {\n count: contractorPayments.length,\n })}\n </Text>\n </Alert>\n\n {wireInRequestUuid && (\n <ConfirmWireDetails companyId={companyId} wireInId={wireInRequestUuid} onEvent={onEvent} />\n )}\n\n <Flex justifyContent=\"space-between\" alignItems=\"flex-start\">\n <Flex flexDirection=\"column\" gap={2}>\n <Heading as=\"h2\">{t('summaryTitle')}</Heading>\n <Text variant=\"supporting\">\n {t('summarySubtitle', { debitDate: contractorPaymentGroup.debitDate })}\n </Text>\n </Flex>\n <Button onClick={onDone} variant=\"primary\">\n {t('doneCta')}\n </Button>\n </Flex>\n\n {/* Payment Summary Table */}\n <Flex flexDirection=\"column\" gap={32}>\n <DataView\n columns={[\n {\n title: t('totalAmount'),\n render: () => currencyFormatter(Number(contractorPaymentGroup.totals?.amount || '0')),\n },\n {\n title: t('debitAmount'),\n render: () =>\n currencyFormatter(Number(contractorPaymentGroup.totals?.debitAmount || '0')),\n },\n {\n title: t('debitAccount'),\n render: () => bankAccount?.hiddenAccountNumber ?? t('notAvailable'),\n },\n {\n title: t('debitDate'),\n render: () => contractorPaymentGroup.debitDate || t('notAvailable'),\n },\n {\n title: t('contractorPayDate'),\n render: () => contractorPaymentGroup.checkDate || t('notAvailable'),\n },\n ]}\n data={[contractorPaymentGroup]}\n label={t('paymentSummaryTitle')}\n />\n\n {/* Contractor Payments Table */}\n {contractorPayments.length > 0 && (\n <DataView\n columns={[\n {\n title: t('contractor'),\n render: contractorPayment =>\n getContractorDisplayName(\n contractors.find(\n contractor => contractor.uuid === contractorPayment.contractorUuid,\n ),\n ),\n },\n {\n title: t('wageType'),\n render: contractorPayment => formatWageType(contractorPayment),\n },\n {\n title: t('paymentMethod'),\n render: contractorPayment =>\n contractorPayment.paymentMethod === 'Direct Deposit'\n ? t('paymentMethods.directDeposit')\n : contractorPayment.paymentMethod === 'Check'\n ? t('paymentMethods.check')\n : contractorPayment.paymentMethod || t('notAvailable'),\n },\n {\n title: t('hours'),\n justify: 'end',\n render: contractorPayment =>\n contractorPayment.wageType === 'Hourly' && contractorPayment.hours\n ? formatHoursDisplay(parseFloat(contractorPayment.hours))\n : ZERO_HOURS_DISPLAY,\n },\n {\n title: t('wage'),\n justify: 'end',\n render: contractorPayment =>\n currencyFormatter(Number(contractorPayment.wage || '0')),\n },\n {\n title: t('bonus'),\n justify: 'end',\n render: contractorPayment =>\n currencyFormatter(Number(contractorPayment.bonus || '0')),\n },\n {\n title: t('reimbursement'),\n justify: 'end',\n render: contractorPayment =>\n currencyFormatter(Number(contractorPayment.reimbursement || '0')),\n },\n {\n title: t('total'),\n justify: 'end',\n render: contractorPayment =>\n currencyFormatter(Number(contractorPayment.wageTotal || '0')),\n },\n ]}\n data={contractorPayments}\n footer={() => ({\n 'column-0': t('totalsLabel'),\n 'column-4': currencyFormatter(totals.wageAmount || 0),\n 'column-5': currencyFormatter(totals.bonusAmount || 0),\n 'column-6': currencyFormatter(totals.reimbursementAmount || 0),\n 'column-7': currencyFormatter(totals.totalAmount || 0),\n })}\n label={t('contractorPaymentsTitle')}\n />\n )}\n </Flex>\n </Flex>\n )\n}\n"],"names":["ZERO_HOURS_DISPLAY","PaymentSummaryPresentation","contractorPaymentGroup","contractors","bankAccount","companyId","wireInRequestUuid","onEvent","onDone","alerts","Button","Text","Heading","Alert","useComponentContext","useI18n","useTranslation","currencyFormatter","useNumberFormatter","formatWageType","contractor","contractorPayments","totals","useMemo","acc","jsxs","Flex","jsx","alert","index","ConfirmWireDetails","DataView","contractorPayment","getContractorDisplayName","formatHoursDisplay"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PaymentSummaryPresentation.js","sources":["../../../../../src/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { ContractorPaymentGroup } from '@gusto/embedded-api/models/components/contractorpaymentgroup'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport type { CompanyBankAccount } from '@gusto/embedded-api/models/components/companybankaccount'\nimport type { InternalAlert } from '../types'\nimport { PaymentSummaryBlock } from '../shared/PaymentSummaryBlock'\nimport { usePaymentSummaryDictionary } from './useFormDictionary'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { ConfirmWireDetails } from '@/components/Payroll/ConfirmWireDetails'\nimport type { EventType } from '@/shared/constants'\n\ninterface PaymentSummaryPresentationProps {\n contractorPaymentGroup: ContractorPaymentGroup\n contractors: Contractor[]\n bankAccount?: CompanyBankAccount\n companyId: string\n wireInRequestUuid?: string\n onEvent: (type: EventType, data?: unknown) => void\n onDone: () => void\n alerts?: InternalAlert[]\n}\n\n/** @internal */\nexport const PaymentSummaryPresentation = ({\n contractorPaymentGroup,\n contractors,\n bankAccount,\n companyId,\n wireInRequestUuid,\n onEvent,\n onDone,\n alerts = [],\n}: PaymentSummaryPresentationProps) => {\n const { Button, Text, Heading, Alert } = useComponentContext()\n useI18n('Contractor.Payments.PaymentSummary')\n const { t } = useTranslation('Contractor.Payments.PaymentSummary')\n const dictionary = usePaymentSummaryDictionary()\n\n const contractorPayments = contractorPaymentGroup.contractorPayments || []\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n {alerts.length > 0 && (\n <Flex flexDirection=\"column\" gap={16}>\n {alerts.map((alert, index) => (\n <Alert\n key={`${alert.type}-${alert.title}-${index}`}\n label={t(`alerts.${alert.title}` as never, alert.translationParams)}\n status={alert.type}\n onDismiss={alert.onDismiss}\n >\n {typeof alert.content === 'string'\n ? t(`alerts.${alert.content}` as never)\n : (alert.content ?? null)}\n </Alert>\n ))}\n </Flex>\n )}\n\n <Alert status=\"success\" label={t('successTitle')}>\n <Text>\n {t('successMessage', {\n count: contractorPayments.length,\n })}\n </Text>\n </Alert>\n\n {wireInRequestUuid && (\n <ConfirmWireDetails companyId={companyId} wireInId={wireInRequestUuid} onEvent={onEvent} />\n )}\n\n <Flex justifyContent=\"space-between\" alignItems=\"flex-start\">\n <Flex flexDirection=\"column\" gap={2}>\n <Heading as=\"h2\">{t('summaryTitle')}</Heading>\n <Text variant=\"supporting\">\n {t('summarySubtitle', { debitDate: contractorPaymentGroup.debitDate })}\n </Text>\n </Flex>\n <Button onClick={onDone} variant=\"primary\">\n {t('doneCta')}\n </Button>\n </Flex>\n\n <PaymentSummaryBlock\n contractorPaymentGroup={contractorPaymentGroup}\n contractors={contractors}\n bankAccount={bankAccount}\n dictionary={dictionary}\n />\n </Flex>\n )\n}\n"],"names":["PaymentSummaryPresentation","contractorPaymentGroup","contractors","bankAccount","companyId","wireInRequestUuid","onEvent","onDone","alerts","Button","Text","Heading","Alert","useComponentContext","useI18n","t","useTranslation","dictionary","usePaymentSummaryDictionary","contractorPayments","jsxs","Flex","jsx","alert","index","ConfirmWireDetails","PaymentSummaryBlock"],"mappings":";;;;;;;;AAyBO,MAAMA,IAA6B,CAAC;AAAA,EACzC,wBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC,IAAS,CAAA;AACX,MAAuC;AACrC,QAAM,EAAE,QAAAC,GAAQ,MAAAC,GAAM,SAAAC,GAAS,OAAAC,EAAA,IAAUC,EAAA;AACzC,EAAAC,EAAQ,oCAAoC;AAC5C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,oCAAoC,GAC3DC,IAAaC,EAAA,GAEbC,IAAqBlB,EAAuB,sBAAsB,CAAA;AAExE,SACE,gBAAAmB,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,IAAAb,EAAO,SAAS,KACf,gBAAAc,EAACD,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAAb,EAAO,IAAI,CAACe,GAAOC,MAClB,gBAAAF;AAAA,MAACV;AAAA,MAAA;AAAA,QAEC,OAAOG,EAAE,UAAUQ,EAAM,KAAK,IAAaA,EAAM,iBAAiB;AAAA,QAClE,QAAQA,EAAM;AAAA,QACd,WAAWA,EAAM;AAAA,QAEhB,UAAA,OAAOA,EAAM,WAAY,WACtBR,EAAE,UAAUQ,EAAM,OAAO,EAAW,IACnCA,EAAM,WAAW;AAAA,MAAA;AAAA,MAPjB,GAAGA,EAAM,IAAI,IAAIA,EAAM,KAAK,IAAIC,CAAK;AAAA,IAAA,CAS7C,GACH;AAAA,IAGF,gBAAAF,EAACV,GAAA,EAAM,QAAO,WAAU,OAAOG,EAAE,cAAc,GAC7C,UAAA,gBAAAO,EAACZ,GAAA,EACE,UAAAK,EAAE,kBAAkB;AAAA,MACnB,OAAOI,EAAmB;AAAA,IAAA,CAC3B,GACH,EAAA,CACF;AAAA,IAECd,KACC,gBAAAiB,EAACG,GAAA,EAAmB,WAAArB,GAAsB,UAAUC,GAAmB,SAAAC,GAAkB;AAAA,IAG3F,gBAAAc,EAACC,GAAA,EAAK,gBAAe,iBAAgB,YAAW,cAC9C,UAAA;AAAA,MAAA,gBAAAD,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,QAAA,gBAAAC,EAACX,GAAA,EAAQ,IAAG,MAAM,UAAAI,EAAE,cAAc,GAAE;AAAA,QACpC,gBAAAO,EAACZ,GAAA,EAAK,SAAQ,cACX,UAAAK,EAAE,mBAAmB,EAAE,WAAWd,EAAuB,UAAA,CAAW,EAAA,CACvE;AAAA,MAAA,GACF;AAAA,MACA,gBAAAqB,EAACb,KAAO,SAASF,GAAQ,SAAQ,WAC9B,UAAAQ,EAAE,SAAS,EAAA,CACd;AAAA,IAAA,GACF;AAAA,IAEA,gBAAAO;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,wBAAAzB;AAAA,QACA,aAAAC;AAAA,QACA,aAAAC;AAAA,QACA,YAAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PaymentSummaryBlockDictionary } from '../shared/PaymentSummaryBlock';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves `PaymentSummaryBlock`'s text against `PaymentSummary`'s own
|
|
4
|
+
* `Contractor.Payments.PaymentSummary` namespace, so partner overrides on that namespace flow
|
|
5
|
+
* into the shared block.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare function usePaymentSummaryDictionary(): PaymentSummaryBlockDictionary;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useMemo as e } from "react";
|
|
2
|
+
import { useTranslation as a } from "react-i18next";
|
|
3
|
+
function r() {
|
|
4
|
+
const { t } = a("Contractor.Payments.PaymentSummary");
|
|
5
|
+
return e(
|
|
6
|
+
() => ({
|
|
7
|
+
paymentSummaryTitle: t("paymentSummaryTitle"),
|
|
8
|
+
totalAmount: t("totalAmount"),
|
|
9
|
+
debitAmount: t("debitAmount"),
|
|
10
|
+
debitAccount: t("debitAccount"),
|
|
11
|
+
debitDate: t("debitDate"),
|
|
12
|
+
contractorPayDate: t("contractorPayDate"),
|
|
13
|
+
contractorPaymentsTitle: t("contractorPaymentsTitle"),
|
|
14
|
+
contractor: t("contractor"),
|
|
15
|
+
wageType: t("wageType"),
|
|
16
|
+
paymentMethod: t("paymentMethod"),
|
|
17
|
+
paymentMethods: {
|
|
18
|
+
directDeposit: t("paymentMethods.directDeposit"),
|
|
19
|
+
check: t("paymentMethods.check"),
|
|
20
|
+
historicalPayment: t("paymentMethods.historicalPayment")
|
|
21
|
+
},
|
|
22
|
+
hours: t("hours"),
|
|
23
|
+
wage: t("wage"),
|
|
24
|
+
bonus: t("bonus"),
|
|
25
|
+
reimbursement: t("reimbursement"),
|
|
26
|
+
total: t("total"),
|
|
27
|
+
totalsLabel: t("totalsLabel"),
|
|
28
|
+
notAvailable: t("notAvailable")
|
|
29
|
+
}),
|
|
30
|
+
[t]
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
r as usePaymentSummaryDictionary
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=useFormDictionary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormDictionary.js","sources":["../../../../../src/components/Contractor/Payments/PaymentSummary/useFormDictionary.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { PaymentSummaryBlockDictionary } from '../shared/PaymentSummaryBlock'\n\n/**\n * Resolves `PaymentSummaryBlock`'s text against `PaymentSummary`'s own\n * `Contractor.Payments.PaymentSummary` namespace, so partner overrides on that namespace flow\n * into the shared block.\n *\n * @internal\n */\nexport function usePaymentSummaryDictionary(): PaymentSummaryBlockDictionary {\n const { t } = useTranslation('Contractor.Payments.PaymentSummary')\n\n return useMemo<PaymentSummaryBlockDictionary>(\n () => ({\n paymentSummaryTitle: t('paymentSummaryTitle'),\n totalAmount: t('totalAmount'),\n debitAmount: t('debitAmount'),\n debitAccount: t('debitAccount'),\n debitDate: t('debitDate'),\n contractorPayDate: t('contractorPayDate'),\n contractorPaymentsTitle: t('contractorPaymentsTitle'),\n contractor: t('contractor'),\n wageType: t('wageType'),\n paymentMethod: t('paymentMethod'),\n paymentMethods: {\n directDeposit: t('paymentMethods.directDeposit'),\n check: t('paymentMethods.check'),\n historicalPayment: t('paymentMethods.historicalPayment'),\n },\n hours: t('hours'),\n wage: t('wage'),\n bonus: t('bonus'),\n reimbursement: t('reimbursement'),\n total: t('total'),\n totalsLabel: t('totalsLabel'),\n notAvailable: t('notAvailable'),\n }),\n [t],\n )\n}\n"],"names":["usePaymentSummaryDictionary","useTranslation","useMemo"],"mappings":";;AAWO,SAASA,IAA6D;AAC3E,QAAM,EAAE,EAAA,IAAMC,EAAe,oCAAoC;AAEjE,SAAOC;AAAA,IACL,OAAO;AAAA,MACL,qBAAqB,EAAE,qBAAqB;AAAA,MAC5C,aAAa,EAAE,aAAa;AAAA,MAC5B,aAAa,EAAE,aAAa;AAAA,MAC5B,cAAc,EAAE,cAAc;AAAA,MAC9B,WAAW,EAAE,WAAW;AAAA,MACxB,mBAAmB,EAAE,mBAAmB;AAAA,MACxC,yBAAyB,EAAE,yBAAyB;AAAA,MACpD,YAAY,EAAE,YAAY;AAAA,MAC1B,UAAU,EAAE,UAAU;AAAA,MACtB,eAAe,EAAE,eAAe;AAAA,MAChC,gBAAgB;AAAA,QACd,eAAe,EAAE,8BAA8B;AAAA,QAC/C,OAAO,EAAE,sBAAsB;AAAA,QAC/B,mBAAmB,EAAE,kCAAkC;AAAA,MAAA;AAAA,MAEzD,OAAO,EAAE,OAAO;AAAA,MAChB,MAAM,EAAE,MAAM;AAAA,MACd,OAAO,EAAE,OAAO;AAAA,MAChB,eAAe,EAAE,eAAe;AAAA,MAChC,OAAO,EAAE,OAAO;AAAA,MAChB,aAAa,EAAE,aAAa;AAAA,MAC5B,cAAc,EAAE,cAAc;AAAA,IAAA;AAAA,IAEhC,CAAC,CAAC;AAAA,EAAA;AAEN;"}
|
package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.d.ts
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Contractor } from '@gusto/embedded-api/models/components/contractor';
|
|
2
|
+
import { CompanyBankAccount } from '@gusto/embedded-api/models/components/companybankaccount';
|
|
3
|
+
/**
|
|
4
|
+
* The subset of a contractor payment record `PaymentSummaryBlock` renders. Both
|
|
5
|
+
* `ContractorPaymentForGroup` (post-creation) and `ContractorPaymentForGroupPreview` (pre-creation)
|
|
6
|
+
* satisfy this structurally, so the block works for a not-yet-submitted preview and an
|
|
7
|
+
* already-created group alike.
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export interface PaymentSummaryBlockContractorPayment {
|
|
12
|
+
contractorUuid?: string;
|
|
13
|
+
wageType?: string;
|
|
14
|
+
hourlyRate?: string;
|
|
15
|
+
paymentMethod?: string;
|
|
16
|
+
hours?: string;
|
|
17
|
+
wage?: string;
|
|
18
|
+
bonus?: string;
|
|
19
|
+
reimbursement?: string;
|
|
20
|
+
wageTotal?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The subset of a contractor payment group `PaymentSummaryBlock` renders. Both
|
|
24
|
+
* `ContractorPaymentGroup` and `ContractorPaymentGroupPreview` satisfy this structurally.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export interface PaymentSummaryBlockGroup {
|
|
29
|
+
checkDate?: string;
|
|
30
|
+
debitDate?: string;
|
|
31
|
+
totals?: {
|
|
32
|
+
amount?: string;
|
|
33
|
+
debitAmount?: string;
|
|
34
|
+
};
|
|
35
|
+
contractorPayments?: PaymentSummaryBlockContractorPayment[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Every string `PaymentSummaryBlock` renders. There is no default copy or namespace of its own —
|
|
39
|
+
* `PaymentSummaryBlock` is `@internal`, so each caller (`PaymentSummary`, `HistoricalPaymentSummary`)
|
|
40
|
+
* must fully resolve this from its own public namespace and pass it down, rather than this
|
|
41
|
+
* component owning a namespace that would show up in the SDK's public translation types without
|
|
42
|
+
* ever being a real partner override surface.
|
|
43
|
+
*
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
export interface PaymentSummaryBlockDictionary {
|
|
47
|
+
paymentSummaryTitle: string;
|
|
48
|
+
totalAmount: string;
|
|
49
|
+
/** Required when `showDebitColumns` is `true`. */
|
|
50
|
+
debitAmount?: string;
|
|
51
|
+
/** Required when `showDebitColumns` is `true`. */
|
|
52
|
+
debitAccount?: string;
|
|
53
|
+
/** Required when `showDebitColumns` is `true`. */
|
|
54
|
+
debitDate?: string;
|
|
55
|
+
contractorPayDate: string;
|
|
56
|
+
contractorPaymentsTitle: string;
|
|
57
|
+
contractor: string;
|
|
58
|
+
wageType: string;
|
|
59
|
+
paymentMethod: string;
|
|
60
|
+
paymentMethods: {
|
|
61
|
+
directDeposit: string;
|
|
62
|
+
check: string;
|
|
63
|
+
historicalPayment: string;
|
|
64
|
+
};
|
|
65
|
+
hours: string;
|
|
66
|
+
wage: string;
|
|
67
|
+
bonus: string;
|
|
68
|
+
reimbursement: string;
|
|
69
|
+
total: string;
|
|
70
|
+
totalsLabel: string;
|
|
71
|
+
notAvailable: string;
|
|
72
|
+
}
|
|
73
|
+
/** @internal */
|
|
74
|
+
export interface PaymentSummaryBlockProps {
|
|
75
|
+
contractorPaymentGroup: PaymentSummaryBlockGroup;
|
|
76
|
+
contractors: Contractor[];
|
|
77
|
+
bankAccount?: CompanyBankAccount;
|
|
78
|
+
/** Whether to show the debit amount, debit account, and debit date columns. Defaults to `true`. */
|
|
79
|
+
showDebitColumns?: boolean;
|
|
80
|
+
dictionary: PaymentSummaryBlockDictionary;
|
|
81
|
+
}
|
|
82
|
+
/** @internal */
|
|
83
|
+
export declare const PaymentSummaryBlock: ({ contractorPaymentGroup, contractors, bankAccount, showDebitColumns, dictionary, }: PaymentSummaryBlockProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { jsxs as p, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as i } from "react";
|
|
3
|
+
import { getContractorDisplayName as d } from "../../../shared/helpers.js";
|
|
4
|
+
import { Flex as g } from "../../../../Common/Flex/Flex.js";
|
|
5
|
+
import { formatHoursDisplay as w } from "../../../../Payroll/helpers.js";
|
|
6
|
+
import N from "../../../../../hooks/useNumberFormatter.js";
|
|
7
|
+
import { DataView as s } from "../../../../Common/DataView/DataView.js";
|
|
8
|
+
const D = "0.000", F = ({
|
|
9
|
+
contractorPaymentGroup: m,
|
|
10
|
+
contractors: a,
|
|
11
|
+
bankAccount: b,
|
|
12
|
+
showDebitColumns: A = !0,
|
|
13
|
+
dictionary: t
|
|
14
|
+
}) => {
|
|
15
|
+
const u = N(), f = (e) => e.wageType === "Hourly" && e.hourlyRate ? `Hourly ${u(Number(e.hourlyRate))}/hr` : e.wageType, h = (e) => {
|
|
16
|
+
switch (e) {
|
|
17
|
+
case "Direct Deposit":
|
|
18
|
+
return t.paymentMethods.directDeposit;
|
|
19
|
+
case "Check":
|
|
20
|
+
return t.paymentMethods.check;
|
|
21
|
+
case "Historical Payment":
|
|
22
|
+
return t.paymentMethods.historicalPayment;
|
|
23
|
+
default:
|
|
24
|
+
return e || t.notAvailable;
|
|
25
|
+
}
|
|
26
|
+
}, l = m.contractorPayments || [], o = i(() => l.reduce(
|
|
27
|
+
(e, r) => (e.wageAmount += Number(r.wage || "0"), e.bonusAmount += Number(r.bonus || "0"), e.reimbursementAmount += Number(r.reimbursement || "0"), e.totalAmount += Number(r.wageTotal || "0"), e),
|
|
28
|
+
{ wageAmount: 0, bonusAmount: 0, reimbursementAmount: 0, totalAmount: 0 }
|
|
29
|
+
), [l]);
|
|
30
|
+
return /* @__PURE__ */ p(g, { flexDirection: "column", gap: 32, children: [
|
|
31
|
+
/* @__PURE__ */ n(
|
|
32
|
+
s,
|
|
33
|
+
{
|
|
34
|
+
columns: [
|
|
35
|
+
{
|
|
36
|
+
title: t.totalAmount,
|
|
37
|
+
render: () => u(Number(m.totals?.amount || "0"))
|
|
38
|
+
},
|
|
39
|
+
...A ? [
|
|
40
|
+
{
|
|
41
|
+
title: t.debitAmount ?? "",
|
|
42
|
+
render: () => u(Number(m.totals?.debitAmount || "0"))
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
title: t.debitAccount ?? "",
|
|
46
|
+
render: () => b?.hiddenAccountNumber ?? t.notAvailable
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
title: t.debitDate ?? "",
|
|
50
|
+
render: () => m.debitDate || t.notAvailable
|
|
51
|
+
}
|
|
52
|
+
] : [],
|
|
53
|
+
{
|
|
54
|
+
title: t.contractorPayDate,
|
|
55
|
+
render: () => m.checkDate || t.notAvailable
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
data: [m],
|
|
59
|
+
label: t.paymentSummaryTitle
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
l.length > 0 && /* @__PURE__ */ n(
|
|
63
|
+
s,
|
|
64
|
+
{
|
|
65
|
+
columns: [
|
|
66
|
+
{
|
|
67
|
+
title: t.contractor,
|
|
68
|
+
render: (e) => d(
|
|
69
|
+
a.find(
|
|
70
|
+
(r) => r.uuid === e.contractorUuid
|
|
71
|
+
)
|
|
72
|
+
) || t.notAvailable
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
title: t.wageType,
|
|
76
|
+
render: (e) => f(e)
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
title: t.paymentMethod,
|
|
80
|
+
render: (e) => h(e.paymentMethod)
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
title: t.hours,
|
|
84
|
+
justify: "end",
|
|
85
|
+
render: (e) => e.wageType === "Hourly" && e.hours ? w(parseFloat(e.hours)) : D
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
title: t.wage,
|
|
89
|
+
justify: "end",
|
|
90
|
+
render: (e) => u(Number(e.wage || "0"))
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
title: t.bonus,
|
|
94
|
+
justify: "end",
|
|
95
|
+
render: (e) => u(Number(e.bonus || "0"))
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
title: t.reimbursement,
|
|
99
|
+
justify: "end",
|
|
100
|
+
render: (e) => u(Number(e.reimbursement || "0"))
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
title: t.total,
|
|
104
|
+
justify: "end",
|
|
105
|
+
render: (e) => u(Number(e.wageTotal || "0"))
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
data: l,
|
|
109
|
+
footer: () => ({
|
|
110
|
+
"column-0": t.totalsLabel,
|
|
111
|
+
"column-4": u(o.wageAmount || 0),
|
|
112
|
+
"column-5": u(o.bonusAmount || 0),
|
|
113
|
+
"column-6": u(o.reimbursementAmount || 0),
|
|
114
|
+
"column-7": u(o.totalAmount || 0)
|
|
115
|
+
}),
|
|
116
|
+
label: t.contractorPaymentsTitle
|
|
117
|
+
}
|
|
118
|
+
)
|
|
119
|
+
] });
|
|
120
|
+
};
|
|
121
|
+
export {
|
|
122
|
+
F as PaymentSummaryBlock
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=PaymentSummaryBlock.js.map
|
package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentSummaryBlock.js","sources":["../../../../../../src/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport type { CompanyBankAccount } from '@gusto/embedded-api/models/components/companybankaccount'\nimport { getContractorDisplayName } from '../../../shared/helpers'\nimport { DataView, Flex } from '@/components/Common'\nimport { formatHoursDisplay } from '@/components/Payroll/helpers'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\n\nconst ZERO_HOURS_DISPLAY = '0.000'\n\n/**\n * The subset of a contractor payment record `PaymentSummaryBlock` renders. Both\n * `ContractorPaymentForGroup` (post-creation) and `ContractorPaymentForGroupPreview` (pre-creation)\n * satisfy this structurally, so the block works for a not-yet-submitted preview and an\n * already-created group alike.\n *\n * @internal\n */\nexport interface PaymentSummaryBlockContractorPayment {\n contractorUuid?: string\n wageType?: string\n hourlyRate?: string\n paymentMethod?: string\n hours?: string\n wage?: string\n bonus?: string\n reimbursement?: string\n wageTotal?: string\n}\n\n/**\n * The subset of a contractor payment group `PaymentSummaryBlock` renders. Both\n * `ContractorPaymentGroup` and `ContractorPaymentGroupPreview` satisfy this structurally.\n *\n * @internal\n */\nexport interface PaymentSummaryBlockGroup {\n checkDate?: string\n debitDate?: string\n totals?: {\n amount?: string\n debitAmount?: string\n }\n contractorPayments?: PaymentSummaryBlockContractorPayment[]\n}\n\n/**\n * Every string `PaymentSummaryBlock` renders. There is no default copy or namespace of its own —\n * `PaymentSummaryBlock` is `@internal`, so each caller (`PaymentSummary`, `HistoricalPaymentSummary`)\n * must fully resolve this from its own public namespace and pass it down, rather than this\n * component owning a namespace that would show up in the SDK's public translation types without\n * ever being a real partner override surface.\n *\n * @internal\n */\nexport interface PaymentSummaryBlockDictionary {\n paymentSummaryTitle: string\n totalAmount: string\n /** Required when `showDebitColumns` is `true`. */\n debitAmount?: string\n /** Required when `showDebitColumns` is `true`. */\n debitAccount?: string\n /** Required when `showDebitColumns` is `true`. */\n debitDate?: string\n contractorPayDate: string\n contractorPaymentsTitle: string\n contractor: string\n wageType: string\n paymentMethod: string\n paymentMethods: {\n directDeposit: string\n check: string\n historicalPayment: string\n }\n hours: string\n wage: string\n bonus: string\n reimbursement: string\n total: string\n totalsLabel: string\n notAvailable: string\n}\n\n/** @internal */\nexport interface PaymentSummaryBlockProps {\n contractorPaymentGroup: PaymentSummaryBlockGroup\n contractors: Contractor[]\n bankAccount?: CompanyBankAccount\n /** Whether to show the debit amount, debit account, and debit date columns. Defaults to `true`. */\n showDebitColumns?: boolean\n dictionary: PaymentSummaryBlockDictionary\n}\n\n/** @internal */\nexport const PaymentSummaryBlock = ({\n contractorPaymentGroup,\n contractors,\n bankAccount,\n showDebitColumns = true,\n dictionary,\n}: PaymentSummaryBlockProps) => {\n const currencyFormatter = useNumberFormatter()\n\n const formatWageType = (contractor: PaymentSummaryBlockContractorPayment) => {\n if (contractor.wageType === 'Hourly' && contractor.hourlyRate) {\n return `Hourly ${currencyFormatter(Number(contractor.hourlyRate))}/hr`\n }\n return contractor.wageType\n }\n\n const formatPaymentMethod = (paymentMethod?: string) => {\n switch (paymentMethod) {\n case 'Direct Deposit':\n return dictionary.paymentMethods.directDeposit\n case 'Check':\n return dictionary.paymentMethods.check\n case 'Historical Payment':\n return dictionary.paymentMethods.historicalPayment\n default:\n return paymentMethod || dictionary.notAvailable\n }\n }\n\n const contractorPayments = contractorPaymentGroup.contractorPayments || []\n\n const totals = useMemo(() => {\n return contractorPayments.reduce(\n (acc, contractorPayment) => {\n acc.wageAmount += Number(contractorPayment.wage || '0')\n acc.bonusAmount += Number(contractorPayment.bonus || '0')\n acc.reimbursementAmount += Number(contractorPayment.reimbursement || '0')\n acc.totalAmount += Number(contractorPayment.wageTotal || '0')\n return acc\n },\n { wageAmount: 0, bonusAmount: 0, reimbursementAmount: 0, totalAmount: 0 },\n )\n }, [contractorPayments])\n\n return (\n <Flex flexDirection=\"column\" gap={32}>\n <DataView\n columns={[\n {\n title: dictionary.totalAmount,\n render: () => currencyFormatter(Number(contractorPaymentGroup.totals?.amount || '0')),\n },\n ...(showDebitColumns\n ? [\n {\n title: dictionary.debitAmount ?? '',\n render: () =>\n currencyFormatter(Number(contractorPaymentGroup.totals?.debitAmount || '0')),\n },\n {\n title: dictionary.debitAccount ?? '',\n render: () => bankAccount?.hiddenAccountNumber ?? dictionary.notAvailable,\n },\n {\n title: dictionary.debitDate ?? '',\n render: () => contractorPaymentGroup.debitDate || dictionary.notAvailable,\n },\n ]\n : []),\n {\n title: dictionary.contractorPayDate,\n render: () => contractorPaymentGroup.checkDate || dictionary.notAvailable,\n },\n ]}\n data={[contractorPaymentGroup]}\n label={dictionary.paymentSummaryTitle}\n />\n\n {contractorPayments.length > 0 && (\n <DataView\n columns={[\n {\n title: dictionary.contractor,\n render: contractorPayment =>\n getContractorDisplayName(\n contractors.find(\n contractor => contractor.uuid === contractorPayment.contractorUuid,\n ),\n ) || dictionary.notAvailable,\n },\n {\n title: dictionary.wageType,\n render: contractorPayment => formatWageType(contractorPayment),\n },\n {\n title: dictionary.paymentMethod,\n render: contractorPayment => formatPaymentMethod(contractorPayment.paymentMethod),\n },\n {\n title: dictionary.hours,\n justify: 'end',\n render: contractorPayment =>\n contractorPayment.wageType === 'Hourly' && contractorPayment.hours\n ? formatHoursDisplay(parseFloat(contractorPayment.hours))\n : ZERO_HOURS_DISPLAY,\n },\n {\n title: dictionary.wage,\n justify: 'end',\n render: contractorPayment => currencyFormatter(Number(contractorPayment.wage || '0')),\n },\n {\n title: dictionary.bonus,\n justify: 'end',\n render: contractorPayment =>\n currencyFormatter(Number(contractorPayment.bonus || '0')),\n },\n {\n title: dictionary.reimbursement,\n justify: 'end',\n render: contractorPayment =>\n currencyFormatter(Number(contractorPayment.reimbursement || '0')),\n },\n {\n title: dictionary.total,\n justify: 'end',\n render: contractorPayment =>\n currencyFormatter(Number(contractorPayment.wageTotal || '0')),\n },\n ]}\n data={contractorPayments}\n footer={() => ({\n 'column-0': dictionary.totalsLabel,\n 'column-4': currencyFormatter(totals.wageAmount || 0),\n 'column-5': currencyFormatter(totals.bonusAmount || 0),\n 'column-6': currencyFormatter(totals.reimbursementAmount || 0),\n 'column-7': currencyFormatter(totals.totalAmount || 0),\n })}\n label={dictionary.contractorPaymentsTitle}\n />\n )}\n </Flex>\n )\n}\n"],"names":["ZERO_HOURS_DISPLAY","PaymentSummaryBlock","contractorPaymentGroup","contractors","bankAccount","showDebitColumns","dictionary","currencyFormatter","useNumberFormatter","formatWageType","contractor","formatPaymentMethod","paymentMethod","contractorPayments","totals","useMemo","acc","contractorPayment","jsxs","Flex","jsx","DataView","getContractorDisplayName","formatHoursDisplay"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PaymentSummaryBlock, type PaymentSummaryBlockProps, type PaymentSummaryBlockDictionary, type PaymentSummaryBlockGroup, type PaymentSummaryBlockContractorPayment, } from './PaymentSummaryBlock';
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useFormFieldsMetadataContext as i } from "../../../../../partner-hook-utils/form/FormFieldsMetadataContext.js";
|
|
3
|
+
import { usePlaceholderSSN as d, normalizeSSN as u } from "../../../../../helpers/ssn.js";
|
|
4
|
+
import { usePlaceholderEin as f, normalizeEin as s } from "../../../../../helpers/federalEin.js";
|
|
5
|
+
import { SelectHookField as c } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
2
6
|
import { TextInputHookField as n } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
|
-
import { SelectHookField as d } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
4
|
-
import { NumberInputHookField as u } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
5
|
-
import { DatePickerHookField as f } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
|
|
6
|
-
import { RadioGroupHookField as i } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
7
7
|
import { SwitchHookField as m } from "../../../../../partner-hook-utils/form/fields/SwitchHookField.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { NumberInputHookField as F } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
9
|
+
import { DatePickerHookField as p } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
|
|
10
|
+
import { RadioGroupHookField as l } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
11
11
|
function b(e) {
|
|
12
|
-
return /* @__PURE__ */ t(
|
|
12
|
+
return /* @__PURE__ */ t(l, { ...e, name: "type" });
|
|
13
13
|
}
|
|
14
14
|
function g(e) {
|
|
15
|
-
return /* @__PURE__ */ t(
|
|
15
|
+
return /* @__PURE__ */ t(l, { ...e, name: "wageType" });
|
|
16
16
|
}
|
|
17
17
|
function I(e) {
|
|
18
|
-
return /* @__PURE__ */ t(
|
|
18
|
+
return /* @__PURE__ */ t(p, { ...e, name: "startDate" });
|
|
19
19
|
}
|
|
20
20
|
function M(e) {
|
|
21
|
-
return /* @__PURE__ */ t(
|
|
21
|
+
return /* @__PURE__ */ t(F, { ...e, name: "hourlyRate" });
|
|
22
22
|
}
|
|
23
23
|
function T(e) {
|
|
24
24
|
return /* @__PURE__ */ t(m, { ...e, name: "selfOnboarding" });
|
|
@@ -42,31 +42,31 @@ function V(e) {
|
|
|
42
42
|
return /* @__PURE__ */ t(n, { ...e, name: "businessName" });
|
|
43
43
|
}
|
|
44
44
|
function W(e) {
|
|
45
|
-
const a =
|
|
45
|
+
const a = i(), o = e.formHookResult?.form.fieldsMetadata ?? a?.metadata ?? {}, r = d(o.ssn?.hasRedactedValue);
|
|
46
46
|
return /* @__PURE__ */ t(
|
|
47
47
|
n,
|
|
48
48
|
{
|
|
49
49
|
...e,
|
|
50
50
|
name: "ssn",
|
|
51
|
-
transform:
|
|
51
|
+
transform: u,
|
|
52
52
|
placeholder: r
|
|
53
53
|
}
|
|
54
54
|
);
|
|
55
55
|
}
|
|
56
56
|
function j(e) {
|
|
57
|
-
const a =
|
|
57
|
+
const a = i(), o = e.formHookResult?.form.fieldsMetadata ?? a?.metadata ?? {}, r = f(o.ein?.hasRedactedValue);
|
|
58
58
|
return /* @__PURE__ */ t(
|
|
59
59
|
n,
|
|
60
60
|
{
|
|
61
61
|
...e,
|
|
62
62
|
name: "ein",
|
|
63
|
-
transform:
|
|
63
|
+
transform: s,
|
|
64
64
|
placeholder: r
|
|
65
65
|
}
|
|
66
66
|
);
|
|
67
67
|
}
|
|
68
68
|
function B(e) {
|
|
69
|
-
return /* @__PURE__ */ t(
|
|
69
|
+
return /* @__PURE__ */ t(c, { ...e, name: "workState" });
|
|
70
70
|
}
|
|
71
71
|
export {
|
|
72
72
|
V as BusinessNameField,
|
|
@@ -15,8 +15,8 @@ export { CreatePaymentFlow, type CreatePaymentFlowProps } from '../Payments/Crea
|
|
|
15
15
|
export { ViewPaymentFlow, type ViewPaymentFlowProps } from '../Payments/ViewPaymentFlow';
|
|
16
16
|
export { PaymentsList, type PaymentsListProps } from '../Payments/PaymentsList/PaymentsList';
|
|
17
17
|
export { CreatePayment, type CreatePaymentProps } from '../Payments/CreatePayment/CreatePayment';
|
|
18
|
-
export {
|
|
19
|
-
export {
|
|
18
|
+
export { CreateHistoricalPayment, type CreateHistoricalPaymentProps, } from '../Payments/CreateHistoricalPayment';
|
|
19
|
+
export { HistoricalPaymentSummary, type HistoricalPaymentSummaryProps, } from '../Payments/HistoricalPaymentSummary';
|
|
20
20
|
export { PaymentHistory, type PaymentHistoryProps } from '../Payments/PaymentHistory/PaymentHistory';
|
|
21
21
|
export { PaymentSummary, type PaymentSummaryProps } from '../Payments/PaymentSummary';
|
|
22
22
|
export { PaymentStatement, type PaymentStatementProps, } from '../Payments/PaymentStatement/PaymentStatement';
|