@gusto/embedded-react-sdk 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/components/Common/PayrollLoading/PayrollLoading.d.ts +2 -0
  3. package/dist/components/Common/PayrollLoading/PayrollLoading.js +19 -0
  4. package/dist/components/Common/PayrollLoading/PayrollLoading.js.map +1 -0
  5. package/dist/components/Common/PayrollLoading/PayrollLoadingTypes.d.ts +5 -0
  6. package/dist/components/Common/PayrollLoading/index.d.ts +3 -0
  7. package/dist/components/Common/index.d.ts +1 -0
  8. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  9. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  10. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  11. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  12. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  13. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  14. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  15. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  16. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  17. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  18. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  19. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  20. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +8 -9
  21. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  22. package/dist/components/Company/Industry/Context.js +6 -7
  23. package/dist/components/Company/Industry/Context.js.map +1 -1
  24. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  25. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  26. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  27. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  28. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  29. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  30. package/dist/components/Company/PaySchedule/usePaySchedule.js +5 -6
  31. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  32. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  33. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  34. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  35. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  36. package/dist/components/Contractor/Address/useAddress.js +5 -6
  37. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  38. package/dist/components/Contractor/Profile/useContractorProfile.js +2 -3
  39. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  40. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +2 -3
  41. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  42. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +2 -3
  43. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  44. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +2 -3
  45. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
  46. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  47. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  48. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  49. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  50. package/dist/components/Employee/EmployeeList/useEmployeeList.js +3 -4
  51. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  52. package/dist/components/Employee/FederalTaxes/FederalForm.js +2 -0
  53. package/dist/components/Employee/FederalTaxes/FederalForm.js.map +1 -1
  54. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +3 -4
  55. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  56. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +5 -6
  57. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  58. package/dist/components/Employee/Profile/useProfile.js +3 -4
  59. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  60. package/dist/components/Employee/StateTaxes/useStateTaxes.js +3 -4
  61. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  62. package/dist/components/Employee/Taxes/FederalForm.js +6 -4
  63. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  64. package/dist/components/Employee/Taxes/useTaxes.js +3 -4
  65. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  66. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +4 -4
  67. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +26 -21
  68. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  69. package/dist/components/Payroll/ConfirmWireDetails/index.d.ts +1 -1
  70. package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +8 -1
  71. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +2 -1
  72. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +56 -54
  73. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  74. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +2 -1
  75. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +90 -91
  76. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  77. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +2 -1
  78. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +33 -31
  79. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  80. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +2 -1
  81. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +88 -87
  82. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  83. package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -1
  84. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js +24 -18
  85. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  86. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +5 -0
  87. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js +77 -51
  88. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  89. package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +4 -1
  90. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +29 -21
  91. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  92. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.d.ts +5 -0
  93. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +36 -26
  94. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  95. package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +4 -1
  96. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +70 -60
  97. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  98. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +2 -1
  99. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +239 -234
  100. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  101. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.d.ts +2 -1
  102. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +25 -15
  103. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
  104. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +2 -1
  105. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +152 -137
  106. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  107. package/dist/components/Payroll/index.d.ts +1 -0
  108. package/dist/components/Payroll/usePreparedPayrollData.js +5 -6
  109. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  110. package/dist/contexts/ApiProvider/ApiProvider.d.ts +3 -1
  111. package/dist/contexts/ApiProvider/ApiProvider.js +26 -18
  112. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  113. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
  114. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  115. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  116. package/dist/contexts/GustoProvider/GustoProvider.d.ts +2 -0
  117. package/dist/contexts/GustoProvider/GustoProvider.js +12 -11
  118. package/dist/contexts/GustoProvider/GustoProvider.js.map +1 -1
  119. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +24 -14
  120. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  121. package/dist/index.d.ts +1 -0
  122. package/dist/style.css +1 -1
  123. package/package.json +5 -5
@@ -1,75 +1,80 @@
1
- import { jsx as e, jsxs as m } from "react/jsx-runtime";
2
- import { useRef as P } from "react";
3
- import { useTranslation as R } from "react-i18next";
4
- import d from "classnames";
1
+ import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
+ import { useRef as I } from "react";
3
+ import { useTranslation as z } from "react-i18next";
4
+ import p from "classnames";
5
5
  import i from "./PayrollReceiptsPresentation.module.scss.js";
6
- import { Flex as a } from "../../Common/Flex/Flex.js";
6
+ import { Flex as m } from "../../Common/Flex/Flex.js";
7
7
  import "../../../shared/constants.js";
8
- import { useComponentContext as L } from "../../../contexts/ComponentAdapter/useComponentContext.js";
9
- import { formatNumberAsCurrency as r } from "../../../helpers/formattedStrings.js";
10
- import { useI18n as I } from "../../../i18n/I18n.js";
11
- import { useContainerBreakpoints as S } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
12
- import z from "../../../assets/icons/receipt-check.svg.js";
13
- import { DataTable as b } from "../../Common/DataView/DataTable/DataTable.js";
14
- import { DataView as h } from "../../Common/DataView/DataView.js";
15
- const Q = ({ receiptData: n }) => {
16
- const { Heading: p, Text: o } = L();
17
- I("Payroll.PayrollReceipts");
18
- const { t } = R("Payroll.PayrollReceipts"), u = P(null), c = !S({ ref: u }).includes("small"), y = (l) => `${l.employeeFirstName || ""} ${l.employeeLastName || ""}`.trim(), g = () => (n.employeeCompensations || []).reduce(
19
- (l, s) => l + parseFloat(s.childSupportGarnishment || "0"),
8
+ import { useComponentContext as M } from "../../../contexts/ComponentAdapter/useComponentContext.js";
9
+ import { formatNumberAsCurrency as a } from "../../../helpers/formattedStrings.js";
10
+ import { useI18n as $ } from "../../../i18n/I18n.js";
11
+ import { useContainerBreakpoints as A } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
12
+ import B from "../../../assets/icons/receipt-check.svg.js";
13
+ import { DataTable as y } from "../../Common/DataView/DataTable/DataTable.js";
14
+ import { DataView as f } from "../../Common/DataView/DataView.js";
15
+ const Z = ({
16
+ receiptData: o,
17
+ withReimbursements: u = !0
18
+ }) => {
19
+ const { Heading: b, Text: t } = M();
20
+ $("Payroll.PayrollReceipts");
21
+ const { t: l } = z("Payroll.PayrollReceipts"), h = I(null), d = !A({ ref: h }).includes("small"), g = (n) => `${n.employeeFirstName || ""} ${n.employeeLastName || ""}`.trim(), x = () => (o.employeeCompensations || []).reduce(
22
+ (n, s) => n + parseFloat(s.childSupportGarnishment || "0"),
20
23
  0
21
- ), f = () => (n.employeeCompensations || []).reduce(
22
- (l, s) => l + parseFloat(s.totalReimbursement || "0"),
24
+ ), k = () => (o.employeeCompensations || []).reduce(
25
+ (n, s) => n + parseFloat(s.totalReimbursement || "0"),
23
26
  0
24
- ), x = () => (n.employeeCompensations || []).reduce(
25
- (l, s) => l + parseFloat(s.netPay || "0"),
27
+ ), w = () => (o.employeeCompensations || []).reduce(
28
+ (n, s) => n + parseFloat(s.netPay || "0"),
26
29
  0
27
- ), w = () => (n.employeeCompensations || []).reduce(
28
- (l, s) => l + parseFloat(s.totalTax || "0"),
30
+ ), F = () => (o.employeeCompensations || []).reduce(
31
+ (n, s) => n + parseFloat(s.totalTax || "0"),
29
32
  0
30
- ), k = [
33
+ ), v = [
31
34
  {
32
- label: t("breakdown.directDeposits"),
33
- amount: parseFloat(n.totals?.netPayDebit || "0")
34
- },
35
- {
36
- label: t("breakdown.reimbursements"),
37
- amount: parseFloat(n.totals?.reimbursementDebit || "0")
35
+ label: l("breakdown.directDeposits"),
36
+ amount: parseFloat(o.totals?.netPayDebit || "0")
38
37
  },
38
+ ...u ? [
39
+ {
40
+ label: l("breakdown.reimbursements"),
41
+ amount: parseFloat(o.totals?.reimbursementDebit || "0")
42
+ }
43
+ ] : [],
39
44
  {
40
- label: t("breakdown.garnishments"),
41
- amount: parseFloat(n.totals?.childSupportDebit || "0")
45
+ label: l("breakdown.garnishments"),
46
+ amount: parseFloat(o.totals?.childSupportDebit || "0")
42
47
  },
43
- { label: t("breakdown.taxes"), amount: parseFloat(n.totals?.taxDebit || "0") }
44
- ], F = [
48
+ { label: l("breakdown.taxes"), amount: parseFloat(o.totals?.taxDebit || "0") }
49
+ ], N = [
45
50
  {
46
- label: t("receipt.receiptId"),
47
- value: n.payrollUuid || ""
51
+ label: l("receipt.receiptId"),
52
+ value: o.payrollUuid || ""
48
53
  },
49
54
  {
50
- label: t("receipt.from"),
51
- value: n.nameOfSender || ""
55
+ label: l("receipt.from"),
56
+ value: o.nameOfSender || ""
52
57
  },
53
58
  {
54
- label: t("receipt.to"),
55
- value: n.nameOfRecipient || "Payroll Recipients"
59
+ label: l("receipt.to"),
60
+ value: o.nameOfRecipient || "Payroll Recipients"
56
61
  },
57
62
  {
58
- label: t("receipt.debitDate"),
59
- value: n.debitDate || ""
63
+ label: l("receipt.debitDate"),
64
+ value: o.debitDate || ""
60
65
  }
61
- ], v = () => /* @__PURE__ */ e("div", { className: d(i.receiptHeader, c && i.receiptHeaderMobile), children: /* @__PURE__ */ m(a, { flexDirection: "column", gap: 24, children: [
62
- /* @__PURE__ */ m(a, { flexDirection: "column", alignItems: "center", gap: 16, children: [
63
- /* @__PURE__ */ e("div", { className: i.receiptIcon, children: /* @__PURE__ */ e(z, { className: i.checkmarkIcon }) }),
64
- /* @__PURE__ */ m(a, { flexDirection: "column", alignItems: "center", gap: 8, children: [
65
- /* @__PURE__ */ e(o, { size: "sm", variant: "supporting", children: t("receipt.totalLabel") }),
66
- /* @__PURE__ */ e(p, { as: "h1", styledAs: "h2", className: i.totalAmount, children: r(parseFloat(n.totals?.companyDebit || "0")) })
66
+ ], C = () => /* @__PURE__ */ e("div", { className: p(i.receiptHeader, d && i.receiptHeaderMobile), children: /* @__PURE__ */ c(m, { flexDirection: "column", gap: 24, children: [
67
+ /* @__PURE__ */ c(m, { flexDirection: "column", alignItems: "center", gap: 16, children: [
68
+ /* @__PURE__ */ e("div", { className: i.receiptIcon, children: /* @__PURE__ */ e(B, { className: i.checkmarkIcon }) }),
69
+ /* @__PURE__ */ c(m, { flexDirection: "column", alignItems: "center", gap: 8, children: [
70
+ /* @__PURE__ */ e(t, { size: "sm", variant: "supporting", children: l("receipt.totalLabel") }),
71
+ /* @__PURE__ */ e(b, { as: "h1", styledAs: "h2", className: i.totalAmount, children: a(parseFloat(o.totals?.companyDebit || "0")) })
67
72
  ] })
68
73
  ] }),
69
74
  /* @__PURE__ */ e("div", { className: i.receiptDetailsTable, children: /* @__PURE__ */ e(
70
- h,
75
+ f,
71
76
  {
72
- label: t("receipt.detailsLabel"),
77
+ label: l("receipt.detailsLabel"),
73
78
  variant: "minimal",
74
79
  breakAt: "small",
75
80
  breakpoints: {
@@ -79,142 +84,152 @@ const Q = ({ receiptData: n }) => {
79
84
  columns: [
80
85
  {
81
86
  title: "",
82
- render: (l) => /* @__PURE__ */ e(o, { size: "sm", variant: "supporting", children: l.label })
87
+ render: (n) => /* @__PURE__ */ e(t, { size: "sm", variant: "supporting", children: n.label })
83
88
  },
84
89
  {
85
90
  title: "",
86
- render: (l) => /* @__PURE__ */ e(o, { size: "sm", children: l.value })
91
+ render: (n) => /* @__PURE__ */ e(t, { size: "sm", children: n.value })
87
92
  }
88
93
  ],
89
- data: F
94
+ data: N
90
95
  }
91
96
  ) }),
92
- /* @__PURE__ */ m(a, { flexDirection: "column", alignItems: "center", gap: 12, children: [
97
+ /* @__PURE__ */ c(m, { flexDirection: "column", alignItems: "center", gap: 12, children: [
93
98
  /* @__PURE__ */ e(
94
- o,
99
+ t,
95
100
  {
96
101
  size: "sm",
97
102
  variant: "supporting",
98
- className: d(i.disclaimer, c && i.textMobile),
99
- children: n.recipientNotice
103
+ className: p(i.disclaimer, d && i.textMobile),
104
+ children: o.recipientNotice
100
105
  }
101
106
  ),
102
107
  /* @__PURE__ */ e(
103
- o,
108
+ t,
104
109
  {
105
110
  size: "sm",
106
111
  variant: "supporting",
107
- className: d(i.companyInfo, c && i.textMobile),
108
- children: n.license
112
+ className: p(i.companyInfo, d && i.textMobile),
113
+ children: o.license
109
114
  }
110
115
  ),
111
116
  /* @__PURE__ */ e(
112
- o,
117
+ t,
113
118
  {
114
119
  size: "sm",
115
120
  variant: "supporting",
116
- className: d(i.address, c && i.textMobile),
117
- children: n.licensee && `${n.licensee.address || ""}, ${n.licensee.city || ""}, ${n.licensee.state || ""} ${n.licensee.postalCode || ""}`
121
+ className: p(i.address, d && i.textMobile),
122
+ children: o.licensee && `${o.licensee.address || ""}, ${o.licensee.city || ""}, ${o.licensee.state || ""} ${o.licensee.postalCode || ""}`
118
123
  }
119
124
  )
120
125
  ] })
121
- ] }) }), N = () => /* @__PURE__ */ e(a, { flexDirection: "column", gap: 16, children: /* @__PURE__ */ e(
122
- b,
126
+ ] }) }), P = () => /* @__PURE__ */ e(m, { flexDirection: "column", gap: 16, children: /* @__PURE__ */ e(
127
+ y,
123
128
  {
124
- label: t("sections.debitedLabel"),
129
+ label: l("sections.debitedLabel"),
125
130
  columns: [
126
131
  {
127
- title: t("sections.debitedLabel"),
128
- render: (l) => /* @__PURE__ */ e(o, { children: l.label })
132
+ title: l("sections.debitedLabel"),
133
+ render: (n) => /* @__PURE__ */ e(t, { children: n.label })
129
134
  },
130
135
  {
131
- title: t("breakdown.amount"),
132
- render: (l) => /* @__PURE__ */ e(o, { children: r(l.amount) })
136
+ title: l("breakdown.amount"),
137
+ render: (n) => /* @__PURE__ */ e(t, { children: a(n.amount) })
133
138
  }
134
139
  ],
135
- data: k,
140
+ data: v,
136
141
  footer: () => ({
137
- "column-0": /* @__PURE__ */ e(o, { weight: "semibold", children: t("breakdown.totals") }),
138
- "column-1": /* @__PURE__ */ e(o, { weight: "semibold", children: r(parseFloat(n.totals?.companyDebit || "0")) })
142
+ "column-0": /* @__PURE__ */ e(t, { weight: "semibold", children: l("breakdown.totals") }),
143
+ "column-1": /* @__PURE__ */ e(t, { weight: "semibold", children: a(parseFloat(o.totals?.companyDebit || "0")) })
139
144
  })
140
145
  }
141
- ) }), C = () => /* @__PURE__ */ e(a, { flexDirection: "column", gap: 16, children: /* @__PURE__ */ e(
142
- b,
146
+ ) }), T = () => /* @__PURE__ */ e(m, { flexDirection: "column", gap: 16, children: /* @__PURE__ */ e(
147
+ y,
143
148
  {
144
- label: t("sections.taxLabel"),
149
+ label: l("sections.taxLabel"),
145
150
  columns: [
146
151
  {
147
- title: t("sections.taxLabel"),
148
- render: (l) => /* @__PURE__ */ e(o, { children: l.name })
152
+ title: l("sections.taxLabel"),
153
+ render: (n) => /* @__PURE__ */ e(t, { children: n.name })
149
154
  },
150
155
  {
151
- title: t("tax.amount"),
152
- render: (l) => /* @__PURE__ */ e(o, { children: r(parseFloat(l.amount || "0")) })
156
+ title: l("tax.amount"),
157
+ render: (n) => /* @__PURE__ */ e(t, { children: a(parseFloat(n.amount || "0")) })
153
158
  }
154
159
  ],
155
- data: n.taxes || [],
160
+ data: o.taxes || [],
156
161
  footer: () => ({
157
- "column-0": /* @__PURE__ */ e(o, { weight: "semibold", children: t("breakdown.totals") }),
158
- "column-1": /* @__PURE__ */ e(o, { weight: "semibold", children: r(parseFloat(n.totals?.taxDebit || "0")) })
162
+ "column-0": /* @__PURE__ */ e(t, { weight: "semibold", children: l("breakdown.totals") }),
163
+ "column-1": /* @__PURE__ */ e(t, { weight: "semibold", children: a(parseFloat(o.totals?.taxDebit || "0")) })
159
164
  })
160
165
  }
161
- ) }), T = () => /* @__PURE__ */ m(a, { flexDirection: "column", gap: 16, children: [
162
- c && /* @__PURE__ */ e(p, { as: "h2", children: t("sections.employeesLabel") }),
163
- /* @__PURE__ */ e(
164
- h,
165
- {
166
- label: t("sections.employeesLabel"),
167
- columns: [
168
- {
169
- title: t("employee.name"),
170
- render: (l) => /* @__PURE__ */ e(o, { children: y(l) })
171
- },
172
- {
173
- title: t("employee.paymentMethod"),
174
- render: (l) => /* @__PURE__ */ e(o, { children: l.paymentMethod || "N/A" })
175
- },
176
- {
177
- title: t("employee.childSupport"),
178
- render: (l) => /* @__PURE__ */ e(o, { children: r(parseFloat(l.childSupportGarnishment || "0")) })
179
- },
180
- {
181
- title: t("employee.reimbursement"),
182
- render: (l) => /* @__PURE__ */ e(o, { children: r(parseFloat(l.totalReimbursement || "0")) })
183
- },
184
- {
185
- title: t("employee.totalTaxes"),
186
- render: (l) => /* @__PURE__ */ e(o, { children: r(parseFloat(l.totalTax || "0")) })
187
- },
188
- {
189
- title: t("employee.netPay"),
190
- render: (l) => /* @__PURE__ */ e(o, { children: r(parseFloat(l.netPay || "0")) })
191
- }
192
- ],
193
- data: n.employeeCompensations || [],
194
- footer: () => ({
195
- "column-0": /* @__PURE__ */ m(a, { flexDirection: "column", gap: 4, children: [
196
- /* @__PURE__ */ e(o, { weight: "semibold", children: t("breakdown.totals") }),
197
- /* @__PURE__ */ e(o, { size: "sm", variant: "supporting", children: t("employee.totalEmployees", {
198
- count: n.employeeCompensations?.length || 0
199
- }) })
200
- ] }),
201
- "column-1": /* @__PURE__ */ e(o, { children: " " }),
202
- "column-2": /* @__PURE__ */ e(o, { weight: "semibold", children: r(g()) }),
203
- "column-3": /* @__PURE__ */ e(o, { weight: "semibold", children: r(f()) }),
204
- "column-4": /* @__PURE__ */ e(o, { weight: "semibold", children: r(w()) }),
205
- "column-5": /* @__PURE__ */ e(o, { weight: "semibold", children: r(x()) })
206
- })
207
- }
208
- )
209
- ] });
210
- return /* @__PURE__ */ e("div", { className: i.container, ref: u, children: /* @__PURE__ */ m(a, { flexDirection: "column", gap: 24, children: [
211
- v(),
212
- N(),
166
+ ) }), R = () => {
167
+ const s = [
168
+ /* @__PURE__ */ c(m, { flexDirection: "column", gap: 4, children: [
169
+ /* @__PURE__ */ e(t, { weight: "semibold", children: l("breakdown.totals") }),
170
+ /* @__PURE__ */ e(t, { size: "sm", variant: "supporting", children: l("employee.totalEmployees", {
171
+ count: o.employeeCompensations?.length || 0
172
+ }) })
173
+ ] }, "totals"),
174
+ /* @__PURE__ */ e(t, { children: " " }, "spacer"),
175
+ /* @__PURE__ */ e(t, { weight: "semibold", children: a(x()) }, "childSupport"),
176
+ ...u ? [
177
+ /* @__PURE__ */ e(t, { weight: "semibold", children: a(k()) }, "reimbursements")
178
+ ] : [],
179
+ /* @__PURE__ */ e(t, { weight: "semibold", children: a(F()) }, "taxes"),
180
+ /* @__PURE__ */ e(t, { weight: "semibold", children: a(w()) }, "netPay")
181
+ ].reduce(
182
+ (r, L, S) => (r[`column-${S}`] = L, r),
183
+ {}
184
+ );
185
+ return /* @__PURE__ */ c(m, { flexDirection: "column", gap: 16, children: [
186
+ d && /* @__PURE__ */ e(b, { as: "h2", children: l("sections.employeesLabel") }),
187
+ /* @__PURE__ */ e(
188
+ f,
189
+ {
190
+ label: l("sections.employeesLabel"),
191
+ columns: [
192
+ {
193
+ title: l("employee.name"),
194
+ render: (r) => /* @__PURE__ */ e(t, { children: g(r) })
195
+ },
196
+ {
197
+ title: l("employee.paymentMethod"),
198
+ render: (r) => /* @__PURE__ */ e(t, { children: r.paymentMethod || "N/A" })
199
+ },
200
+ {
201
+ title: l("employee.childSupport"),
202
+ render: (r) => /* @__PURE__ */ e(t, { children: a(parseFloat(r.childSupportGarnishment || "0")) })
203
+ },
204
+ ...u ? [
205
+ {
206
+ title: l("employee.reimbursement"),
207
+ render: (r) => /* @__PURE__ */ e(t, { children: a(parseFloat(r.totalReimbursement || "0")) })
208
+ }
209
+ ] : [],
210
+ {
211
+ title: l("employee.totalTaxes"),
212
+ render: (r) => /* @__PURE__ */ e(t, { children: a(parseFloat(r.totalTax || "0")) })
213
+ },
214
+ {
215
+ title: l("employee.netPay"),
216
+ render: (r) => /* @__PURE__ */ e(t, { children: a(parseFloat(r.netPay || "0")) })
217
+ }
218
+ ],
219
+ data: o.employeeCompensations || [],
220
+ footer: () => s
221
+ }
222
+ )
223
+ ] });
224
+ };
225
+ return /* @__PURE__ */ e("div", { className: i.container, ref: h, children: /* @__PURE__ */ c(m, { flexDirection: "column", gap: 24, children: [
213
226
  C(),
214
- T()
227
+ P(),
228
+ T(),
229
+ R()
215
230
  ] }) });
216
231
  };
217
232
  export {
218
- Q as PayrollReceiptsPresentation
233
+ Z as PayrollReceiptsPresentation
219
234
  };
220
235
  //# sourceMappingURL=PayrollReceiptsPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollReceiptsPresentation.js","sources":["../../../../src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport type {\n PayrollReceipt,\n Taxes as TaxBreakdownItem,\n PayrollReceiptEmployeeCompensations as EmployeeBreakdownItem,\n} from '@gusto/embedded-api/models/components/payrollreceipt'\nimport styles from './PayrollReceiptsPresentation.module.scss'\nimport { DataView, DataTable, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useContainerBreakpoints } from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\nimport ReceiptCheck from '@/assets/icons/receipt-check.svg?react'\n\ninterface PayrollReceiptsPresentationProps {\n receiptData: PayrollReceipt\n}\n\nexport const PayrollReceiptsPresentation = ({ receiptData }: PayrollReceiptsPresentationProps) => {\n const { Heading, Text } = useComponentContext()\n useI18n('Payroll.PayrollReceipts')\n const { t } = useTranslation('Payroll.PayrollReceipts')\n\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isMobile = !breakpoints.includes('small')\n\n // Helper to get employee full name\n const getEmployeeFullName = (emp: EmployeeBreakdownItem) =>\n `${emp.employeeFirstName || ''} ${emp.employeeLastName || ''}`.trim()\n\n const getTotalChildSupport = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.childSupportGarnishment || '0'),\n 0,\n )\n\n const getTotalReimbursements = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.totalReimbursement || '0'),\n 0,\n )\n\n const getTotalNetPay = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.netPay || '0'),\n 0,\n )\n\n const getTotalTaxes = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.totalTax || '0'),\n 0,\n )\n\n const breakdownData = [\n {\n label: t('breakdown.directDeposits'),\n amount: parseFloat(receiptData.totals?.netPayDebit || '0'),\n },\n {\n label: t('breakdown.reimbursements'),\n amount: parseFloat(receiptData.totals?.reimbursementDebit || '0'),\n },\n {\n label: t('breakdown.garnishments'),\n amount: parseFloat(receiptData.totals?.childSupportDebit || '0'),\n },\n { label: t('breakdown.taxes'), amount: parseFloat(receiptData.totals?.taxDebit || '0') },\n ]\n\n const receiptDetailsConfig = [\n {\n label: t('receipt.receiptId'),\n value: receiptData.payrollUuid || '',\n },\n {\n label: t('receipt.from'),\n value: receiptData.nameOfSender || '',\n },\n {\n label: t('receipt.to'),\n value: receiptData.nameOfRecipient || 'Payroll Recipients',\n },\n {\n label: t('receipt.debitDate'),\n value: receiptData.debitDate || '',\n },\n ]\n\n const renderReceiptHeader = () => (\n <div className={classNames(styles.receiptHeader, isMobile && styles.receiptHeaderMobile)}>\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={16}>\n <div className={styles.receiptIcon}>\n <ReceiptCheck className={styles.checkmarkIcon} />\n </div>\n\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <Text size=\"sm\" variant=\"supporting\">\n {t('receipt.totalLabel')}\n </Text>\n <Heading as=\"h1\" styledAs=\"h2\" className={styles.totalAmount}>\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.companyDebit || '0'))}\n </Heading>\n </Flex>\n </Flex>\n\n <div className={styles.receiptDetailsTable}>\n <DataView\n label={t('receipt.detailsLabel')}\n variant=\"minimal\"\n breakAt=\"small\"\n breakpoints={{\n base: '0rem',\n small: '22rem',\n }}\n columns={[\n {\n title: '',\n render: (item: { label: string; value: string }) => (\n <Text size=\"sm\" variant=\"supporting\">\n {item.label}\n </Text>\n ),\n },\n {\n title: '',\n render: (item: { label: string; value: string }) => (\n <Text size=\"sm\">{item.value}</Text>\n ),\n },\n ]}\n data={receiptDetailsConfig}\n />\n </div>\n\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={12}>\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.disclaimer, isMobile && styles.textMobile)}\n >\n {receiptData.recipientNotice}\n </Text>\n\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.companyInfo, isMobile && styles.textMobile)}\n >\n {receiptData.license}\n </Text>\n\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.address, isMobile && styles.textMobile)}\n >\n {receiptData.licensee &&\n `${receiptData.licensee.address || ''}, ${receiptData.licensee.city || ''}, ${receiptData.licensee.state || ''} ${receiptData.licensee.postalCode || ''}`}\n </Text>\n </Flex>\n </Flex>\n </div>\n )\n\n const renderBreakdownSection = () => (\n <Flex flexDirection=\"column\" gap={16}>\n <DataTable\n label={t('sections.debitedLabel')}\n columns={[\n {\n title: t('sections.debitedLabel'),\n render: (item: { label: string; amount: number }) => <Text>{item.label}</Text>,\n },\n {\n title: t('breakdown.amount'),\n render: (item: { label: string; amount: number }) => (\n <Text>{formatNumberAsCurrency(item.amount)}</Text>\n ),\n },\n ]}\n data={breakdownData}\n footer={() => ({\n 'column-0': <Text weight=\"semibold\">{t('breakdown.totals')}</Text>,\n 'column-1': (\n <Text weight=\"semibold\">\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.companyDebit || '0'))}\n </Text>\n ),\n })}\n />\n </Flex>\n )\n\n const renderTaxBreakdown = () => (\n <Flex flexDirection=\"column\" gap={16}>\n <DataTable\n label={t('sections.taxLabel')}\n columns={[\n {\n title: t('sections.taxLabel'),\n render: (tax: TaxBreakdownItem) => <Text>{tax.name}</Text>,\n },\n {\n title: t('tax.amount'),\n render: (tax: TaxBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(tax.amount || '0'))}</Text>\n ),\n },\n ]}\n data={receiptData.taxes || []}\n footer={() => ({\n 'column-0': <Text weight=\"semibold\">{t('breakdown.totals')}</Text>,\n 'column-1': (\n <Text weight=\"semibold\">\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.taxDebit || '0'))}\n </Text>\n ),\n })}\n />\n </Flex>\n )\n\n const renderEmployeeBreakdown = () => (\n <Flex flexDirection=\"column\" gap={16}>\n {isMobile && <Heading as=\"h2\">{t('sections.employeesLabel')}</Heading>}\n <DataView\n label={t('sections.employeesLabel')}\n columns={[\n {\n title: t('employee.name'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{getEmployeeFullName(employee)}</Text>\n ),\n },\n {\n title: t('employee.paymentMethod'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{employee.paymentMethod || 'N/A'}</Text>\n ),\n },\n {\n title: t('employee.childSupport'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>\n {formatNumberAsCurrency(parseFloat(employee.childSupportGarnishment || '0'))}\n </Text>\n ),\n },\n {\n title: t('employee.reimbursement'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.totalReimbursement || '0'))}</Text>\n ),\n },\n {\n title: t('employee.totalTaxes'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.totalTax || '0'))}</Text>\n ),\n },\n {\n title: t('employee.netPay'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.netPay || '0'))}</Text>\n ),\n },\n ]}\n data={receiptData.employeeCompensations || []}\n footer={() => ({\n 'column-0': (\n <Flex flexDirection=\"column\" gap={4}>\n <Text weight=\"semibold\">{t('breakdown.totals')}</Text>\n <Text size=\"sm\" variant=\"supporting\">\n {t('employee.totalEmployees', {\n count: receiptData.employeeCompensations?.length || 0,\n })}\n </Text>\n </Flex>\n ),\n 'column-1': <Text>{'\\u00A0'}</Text>,\n 'column-2': (\n <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalChildSupport())}</Text>\n ),\n 'column-3': (\n <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalReimbursements())}</Text>\n ),\n 'column-4': <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalTaxes())}</Text>,\n 'column-5': <Text weight=\"semibold\">{formatNumberAsCurrency(getTotalNetPay())}</Text>,\n })}\n />\n </Flex>\n )\n\n return (\n <div className={styles.container} ref={containerRef}>\n <Flex flexDirection=\"column\" gap={24}>\n {renderReceiptHeader()}\n {renderBreakdownSection()}\n {renderTaxBreakdown()}\n {renderEmployeeBreakdown()}\n </Flex>\n </div>\n )\n}\n"],"names":["PayrollReceiptsPresentation","receiptData","Heading","Text","useComponentContext","useI18n","useTranslation","containerRef","useRef","isMobile","useContainerBreakpoints","getEmployeeFullName","emp","getTotalChildSupport","sum","getTotalReimbursements","getTotalNetPay","getTotalTaxes","breakdownData","receiptDetailsConfig","renderReceiptHeader","jsx","classNames","styles","jsxs","Flex","ReceiptCheck","formatNumberAsCurrency","DataView","item","renderBreakdownSection","DataTable","renderTaxBreakdown","tax","renderEmployeeBreakdown","employee"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollReceiptsPresentation.js","sources":["../../../../src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport type {\n PayrollReceipt,\n Taxes as TaxBreakdownItem,\n PayrollReceiptEmployeeCompensations as EmployeeBreakdownItem,\n} from '@gusto/embedded-api/models/components/payrollreceipt'\nimport styles from './PayrollReceiptsPresentation.module.scss'\nimport { DataView, DataTable, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useContainerBreakpoints } from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\nimport ReceiptCheck from '@/assets/icons/receipt-check.svg?react'\n\ninterface PayrollReceiptsPresentationProps {\n receiptData: PayrollReceipt\n withReimbursements?: boolean\n}\n\nexport const PayrollReceiptsPresentation = ({\n receiptData,\n withReimbursements = true,\n}: PayrollReceiptsPresentationProps) => {\n const { Heading, Text } = useComponentContext()\n useI18n('Payroll.PayrollReceipts')\n const { t } = useTranslation('Payroll.PayrollReceipts')\n\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isMobile = !breakpoints.includes('small')\n\n // Helper to get employee full name\n const getEmployeeFullName = (emp: EmployeeBreakdownItem) =>\n `${emp.employeeFirstName || ''} ${emp.employeeLastName || ''}`.trim()\n\n const getTotalChildSupport = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.childSupportGarnishment || '0'),\n 0,\n )\n\n const getTotalReimbursements = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.totalReimbursement || '0'),\n 0,\n )\n\n const getTotalNetPay = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.netPay || '0'),\n 0,\n )\n\n const getTotalTaxes = () =>\n (receiptData.employeeCompensations || []).reduce(\n (sum, emp) => sum + parseFloat(emp.totalTax || '0'),\n 0,\n )\n\n const breakdownData = [\n {\n label: t('breakdown.directDeposits'),\n amount: parseFloat(receiptData.totals?.netPayDebit || '0'),\n },\n ...(withReimbursements\n ? [\n {\n label: t('breakdown.reimbursements'),\n amount: parseFloat(receiptData.totals?.reimbursementDebit || '0'),\n },\n ]\n : []),\n {\n label: t('breakdown.garnishments'),\n amount: parseFloat(receiptData.totals?.childSupportDebit || '0'),\n },\n { label: t('breakdown.taxes'), amount: parseFloat(receiptData.totals?.taxDebit || '0') },\n ]\n\n const receiptDetailsConfig = [\n {\n label: t('receipt.receiptId'),\n value: receiptData.payrollUuid || '',\n },\n {\n label: t('receipt.from'),\n value: receiptData.nameOfSender || '',\n },\n {\n label: t('receipt.to'),\n value: receiptData.nameOfRecipient || 'Payroll Recipients',\n },\n {\n label: t('receipt.debitDate'),\n value: receiptData.debitDate || '',\n },\n ]\n\n const renderReceiptHeader = () => (\n <div className={classNames(styles.receiptHeader, isMobile && styles.receiptHeaderMobile)}>\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={16}>\n <div className={styles.receiptIcon}>\n <ReceiptCheck className={styles.checkmarkIcon} />\n </div>\n\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <Text size=\"sm\" variant=\"supporting\">\n {t('receipt.totalLabel')}\n </Text>\n <Heading as=\"h1\" styledAs=\"h2\" className={styles.totalAmount}>\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.companyDebit || '0'))}\n </Heading>\n </Flex>\n </Flex>\n\n <div className={styles.receiptDetailsTable}>\n <DataView\n label={t('receipt.detailsLabel')}\n variant=\"minimal\"\n breakAt=\"small\"\n breakpoints={{\n base: '0rem',\n small: '22rem',\n }}\n columns={[\n {\n title: '',\n render: (item: { label: string; value: string }) => (\n <Text size=\"sm\" variant=\"supporting\">\n {item.label}\n </Text>\n ),\n },\n {\n title: '',\n render: (item: { label: string; value: string }) => (\n <Text size=\"sm\">{item.value}</Text>\n ),\n },\n ]}\n data={receiptDetailsConfig}\n />\n </div>\n\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={12}>\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.disclaimer, isMobile && styles.textMobile)}\n >\n {receiptData.recipientNotice}\n </Text>\n\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.companyInfo, isMobile && styles.textMobile)}\n >\n {receiptData.license}\n </Text>\n\n <Text\n size=\"sm\"\n variant=\"supporting\"\n className={classNames(styles.address, isMobile && styles.textMobile)}\n >\n {receiptData.licensee &&\n `${receiptData.licensee.address || ''}, ${receiptData.licensee.city || ''}, ${receiptData.licensee.state || ''} ${receiptData.licensee.postalCode || ''}`}\n </Text>\n </Flex>\n </Flex>\n </div>\n )\n\n const renderBreakdownSection = () => (\n <Flex flexDirection=\"column\" gap={16}>\n <DataTable\n label={t('sections.debitedLabel')}\n columns={[\n {\n title: t('sections.debitedLabel'),\n render: (item: { label: string; amount: number }) => <Text>{item.label}</Text>,\n },\n {\n title: t('breakdown.amount'),\n render: (item: { label: string; amount: number }) => (\n <Text>{formatNumberAsCurrency(item.amount)}</Text>\n ),\n },\n ]}\n data={breakdownData}\n footer={() => ({\n 'column-0': <Text weight=\"semibold\">{t('breakdown.totals')}</Text>,\n 'column-1': (\n <Text weight=\"semibold\">\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.companyDebit || '0'))}\n </Text>\n ),\n })}\n />\n </Flex>\n )\n\n const renderTaxBreakdown = () => (\n <Flex flexDirection=\"column\" gap={16}>\n <DataTable\n label={t('sections.taxLabel')}\n columns={[\n {\n title: t('sections.taxLabel'),\n render: (tax: TaxBreakdownItem) => <Text>{tax.name}</Text>,\n },\n {\n title: t('tax.amount'),\n render: (tax: TaxBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(tax.amount || '0'))}</Text>\n ),\n },\n ]}\n data={receiptData.taxes || []}\n footer={() => ({\n 'column-0': <Text weight=\"semibold\">{t('breakdown.totals')}</Text>,\n 'column-1': (\n <Text weight=\"semibold\">\n {formatNumberAsCurrency(parseFloat(receiptData.totals?.taxDebit || '0'))}\n </Text>\n ),\n })}\n />\n </Flex>\n )\n\n const renderEmployeeBreakdown = () => {\n const footerValues = [\n <Flex flexDirection=\"column\" gap={4} key=\"totals\">\n <Text weight=\"semibold\">{t('breakdown.totals')}</Text>\n <Text size=\"sm\" variant=\"supporting\">\n {t('employee.totalEmployees', {\n count: receiptData.employeeCompensations?.length || 0,\n })}\n </Text>\n </Flex>,\n <Text key=\"spacer\">{'\\u00A0'}</Text>,\n <Text weight=\"semibold\" key=\"childSupport\">\n {formatNumberAsCurrency(getTotalChildSupport())}\n </Text>,\n ...(withReimbursements\n ? [\n <Text weight=\"semibold\" key=\"reimbursements\">\n {formatNumberAsCurrency(getTotalReimbursements())}\n </Text>,\n ]\n : []),\n <Text weight=\"semibold\" key=\"taxes\">\n {formatNumberAsCurrency(getTotalTaxes())}\n </Text>,\n <Text weight=\"semibold\" key=\"netPay\">\n {formatNumberAsCurrency(getTotalNetPay())}\n </Text>,\n ]\n\n const footerContent = footerValues.reduce<Record<string, React.ReactNode>>(\n (acc, value, index) => {\n acc[`column-${index}`] = value\n return acc\n },\n {},\n )\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\n {isMobile && <Heading as=\"h2\">{t('sections.employeesLabel')}</Heading>}\n <DataView\n label={t('sections.employeesLabel')}\n columns={[\n {\n title: t('employee.name'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{getEmployeeFullName(employee)}</Text>\n ),\n },\n {\n title: t('employee.paymentMethod'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{employee.paymentMethod || 'N/A'}</Text>\n ),\n },\n {\n title: t('employee.childSupport'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>\n {formatNumberAsCurrency(parseFloat(employee.childSupportGarnishment || '0'))}\n </Text>\n ),\n },\n ...(withReimbursements\n ? [\n {\n title: t('employee.reimbursement'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>\n {formatNumberAsCurrency(parseFloat(employee.totalReimbursement || '0'))}\n </Text>\n ),\n },\n ]\n : []),\n {\n title: t('employee.totalTaxes'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.totalTax || '0'))}</Text>\n ),\n },\n {\n title: t('employee.netPay'),\n render: (employee: EmployeeBreakdownItem) => (\n <Text>{formatNumberAsCurrency(parseFloat(employee.netPay || '0'))}</Text>\n ),\n },\n ]}\n data={receiptData.employeeCompensations || []}\n footer={() => footerContent}\n />\n </Flex>\n )\n }\n\n return (\n <div className={styles.container} ref={containerRef}>\n <Flex flexDirection=\"column\" gap={24}>\n {renderReceiptHeader()}\n {renderBreakdownSection()}\n {renderTaxBreakdown()}\n {renderEmployeeBreakdown()}\n </Flex>\n </div>\n )\n}\n"],"names":["PayrollReceiptsPresentation","receiptData","withReimbursements","Heading","Text","useComponentContext","useI18n","t","useTranslation","containerRef","useRef","isMobile","useContainerBreakpoints","getEmployeeFullName","emp","getTotalChildSupport","sum","getTotalReimbursements","getTotalNetPay","getTotalTaxes","breakdownData","receiptDetailsConfig","renderReceiptHeader","jsx","classNames","styles","jsxs","Flex","ReceiptCheck","formatNumberAsCurrency","DataView","item","renderBreakdownSection","DataTable","renderTaxBreakdown","tax","renderEmployeeBreakdown","footerContent","acc","value","index","employee"],"mappings":"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"}
@@ -8,4 +8,5 @@ export { PayrollOverview } from './PayrollOverview/PayrollOverview';
8
8
  export { PayrollFlow } from './PayrollFlow/PayrollFlow';
9
9
  export { PayrollReceipts } from './PayrollReceipts/PayrollReceipts';
10
10
  export { ConfirmWireDetails } from './ConfirmWireDetails/ConfirmWireDetails';
11
+ export type { ConfirmWireDetailsProps, ConfirmWireDetailsComponentType } from './ConfirmWireDetails';
11
12
  export { PayrollBlocker, type ApiPayrollBlocker } from './PayrollBlocker';
@@ -1,4 +1,4 @@
1
- import { useState as m, useCallback as y, useEffect as S } from "react";
1
+ import { useState as y, useCallback as m, useEffect as S } from "react";
2
2
  import { usePayrollsPrepareMutation as h } from "@gusto/embedded-api/react-query/payrollsPrepare";
3
3
  import { usePaySchedulesGet as f } from "@gusto/embedded-api/react-query/paySchedulesGet";
4
4
  import "react/jsx-runtime";
@@ -11,15 +11,14 @@ import { useBase as b } from "../Base/useBase.js";
11
11
  import "../../shared/constants.js";
12
12
  import "classnames";
13
13
  import "../../contexts/ComponentAdapter/useComponentContext.js";
14
- import "../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
15
14
  import "dompurify";
16
- const M = ({
15
+ const H = ({
17
16
  companyId: e,
18
17
  payrollId: t,
19
18
  employeeUuids: o,
20
19
  sortBy: s
21
20
  }) => {
22
- const { mutateAsync: i, isPending: l } = h(), [r, d] = m(), { baseSubmitHandler: p } = b(), { data: u, isLoading: n } = f(
21
+ const { mutateAsync: i, isPending: l } = h(), [r, d] = y(), { baseSubmitHandler: p } = b(), { data: u, isLoading: n } = f(
23
22
  {
24
23
  companyId: e,
25
24
  payScheduleId: r?.payPeriod?.payScheduleUuid || ""
@@ -27,7 +26,7 @@ const M = ({
27
26
  {
28
27
  enabled: !!r?.payPeriod?.payScheduleUuid
29
28
  }
30
- ), a = y(async () => {
29
+ ), a = m(async () => {
31
30
  await p(null, async () => {
32
31
  const P = await i({
33
32
  request: {
@@ -54,6 +53,6 @@ const M = ({
54
53
  };
55
54
  };
56
55
  export {
57
- M as usePreparedPayrollData
56
+ H as usePreparedPayrollData
58
57
  };
59
58
  //# sourceMappingURL=usePreparedPayrollData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePreparedPayrollData.js","sources":["../../../src/components/Payroll/usePreparedPayrollData.ts"],"sourcesContent":["import { useState, useEffect, useCallback } from 'react'\nimport { usePayrollsPrepareMutation } from '@gusto/embedded-api/react-query/payrollsPrepare'\nimport { usePaySchedulesGet } from '@gusto/embedded-api/react-query/paySchedulesGet'\nimport type { PayrollPrepared } from '@gusto/embedded-api/models/components/payrollprepared'\nimport type { PayScheduleObject } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { PayrollPrepareSortBy } from '@gusto/embedded-api/models/components/payrollpreparesortby'\nimport { useBase } from '../Base'\n\ninterface UsePreparedPayrollDataParams {\n companyId: string\n payrollId: string\n employeeUuids?: string[]\n sortBy?: PayrollPrepareSortBy\n}\n\ninterface UsePreparedPayrollDataReturn {\n handlePreparePayroll: () => Promise<void>\n preparedPayroll: PayrollPrepared | undefined\n paySchedule: PayScheduleObject | undefined\n isLoading: boolean\n}\n\nexport const usePreparedPayrollData = ({\n companyId,\n payrollId,\n employeeUuids,\n sortBy,\n}: UsePreparedPayrollDataParams): UsePreparedPayrollDataReturn => {\n const { mutateAsync: preparePayroll, isPending: isPreparePayrollPending } =\n usePayrollsPrepareMutation()\n const [preparedPayroll, setPreparedPayroll] = useState<PayrollPrepared | undefined>()\n const { baseSubmitHandler } = useBase()\n\n const { data: payScheduleData, isLoading: isPayScheduleLoading } = usePaySchedulesGet(\n {\n companyId,\n payScheduleId: preparedPayroll?.payPeriod?.payScheduleUuid || '',\n },\n {\n enabled: !!preparedPayroll?.payPeriod?.payScheduleUuid,\n },\n )\n\n const handlePreparePayroll = useCallback(async () => {\n await baseSubmitHandler(null, async () => {\n const result = await preparePayroll({\n request: {\n companyId,\n payrollId,\n sortBy,\n requestBody: {\n employeeUuids,\n },\n },\n })\n setPreparedPayroll(result.payrollPrepared)\n })\n }, [companyId, payrollId, preparePayroll, employeeUuids, baseSubmitHandler])\n\n useEffect(() => {\n void handlePreparePayroll()\n }, [handlePreparePayroll])\n\n const isLoading = isPreparePayrollPending || isPayScheduleLoading\n\n return {\n handlePreparePayroll,\n preparedPayroll,\n paySchedule: payScheduleData?.payScheduleObject,\n isLoading,\n }\n}\n"],"names":["usePreparedPayrollData","companyId","payrollId","employeeUuids","sortBy","preparePayroll","isPreparePayrollPending","usePayrollsPrepareMutation","preparedPayroll","setPreparedPayroll","useState","baseSubmitHandler","useBase","payScheduleData","isPayScheduleLoading","usePaySchedulesGet","handlePreparePayroll","useCallback","result","useEffect","isLoading"],"mappings":";;;;;;;;;;;;;;;AAsBO,MAAMA,IAAyB,CAAC;AAAA,EACrC,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AACF,MAAkE;AAChE,QAAM,EAAE,aAAaC,GAAgB,WAAWC,EAAA,IAC9CC,EAAA,GACI,CAACC,GAAiBC,CAAkB,IAAIC,EAAA,GACxC,EAAE,mBAAAC,EAAA,IAAsBC,EAAA,GAExB,EAAE,MAAMC,GAAiB,WAAWC,MAAyBC;AAAA,IACjE;AAAA,MACE,WAAAd;AAAA,MACA,eAAeO,GAAiB,WAAW,mBAAmB;AAAA,IAAA;AAAA,IAEhE;AAAA,MACE,SAAS,CAAC,CAACA,GAAiB,WAAW;AAAA,IAAA;AAAA,EACzC,GAGIQ,IAAuBC,EAAY,YAAY;AACnD,UAAMN,EAAkB,MAAM,YAAY;AACxC,YAAMO,IAAS,MAAMb,EAAe;AAAA,QAClC,SAAS;AAAA,UACP,WAAAJ;AAAA,UACA,WAAAC;AAAA,UACA,QAAAE;AAAA,UACA,aAAa;AAAA,YACX,eAAAD;AAAA,UAAA;AAAA,QACF;AAAA,MACF,CACD;AACD,MAAAM,EAAmBS,EAAO,eAAe;AAAA,IAC3C,CAAC;AAAA,EACH,GAAG,CAACjB,GAAWC,GAAWG,GAAgBF,GAAeQ,CAAiB,CAAC;AAE3E,EAAAQ,EAAU,MAAM;AACd,IAAKH,EAAA;AAAA,EACP,GAAG,CAACA,CAAoB,CAAC;AAEzB,QAAMI,IAAYd,KAA2BQ;AAE7C,SAAO;AAAA,IACL,sBAAAE;AAAA,IACA,iBAAAR;AAAA,IACA,aAAaK,GAAiB;AAAA,IAC9B,WAAAO;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"usePreparedPayrollData.js","sources":["../../../src/components/Payroll/usePreparedPayrollData.ts"],"sourcesContent":["import { useState, useEffect, useCallback } from 'react'\nimport { usePayrollsPrepareMutation } from '@gusto/embedded-api/react-query/payrollsPrepare'\nimport { usePaySchedulesGet } from '@gusto/embedded-api/react-query/paySchedulesGet'\nimport type { PayrollPrepared } from '@gusto/embedded-api/models/components/payrollprepared'\nimport type { PayScheduleObject } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { PayrollPrepareSortBy } from '@gusto/embedded-api/models/components/payrollpreparesortby'\nimport { useBase } from '../Base'\n\ninterface UsePreparedPayrollDataParams {\n companyId: string\n payrollId: string\n employeeUuids?: string[]\n sortBy?: PayrollPrepareSortBy\n}\n\ninterface UsePreparedPayrollDataReturn {\n handlePreparePayroll: () => Promise<void>\n preparedPayroll: PayrollPrepared | undefined\n paySchedule: PayScheduleObject | undefined\n isLoading: boolean\n}\n\nexport const usePreparedPayrollData = ({\n companyId,\n payrollId,\n employeeUuids,\n sortBy,\n}: UsePreparedPayrollDataParams): UsePreparedPayrollDataReturn => {\n const { mutateAsync: preparePayroll, isPending: isPreparePayrollPending } =\n usePayrollsPrepareMutation()\n const [preparedPayroll, setPreparedPayroll] = useState<PayrollPrepared | undefined>()\n const { baseSubmitHandler } = useBase()\n\n const { data: payScheduleData, isLoading: isPayScheduleLoading } = usePaySchedulesGet(\n {\n companyId,\n payScheduleId: preparedPayroll?.payPeriod?.payScheduleUuid || '',\n },\n {\n enabled: !!preparedPayroll?.payPeriod?.payScheduleUuid,\n },\n )\n\n const handlePreparePayroll = useCallback(async () => {\n await baseSubmitHandler(null, async () => {\n const result = await preparePayroll({\n request: {\n companyId,\n payrollId,\n sortBy,\n requestBody: {\n employeeUuids,\n },\n },\n })\n setPreparedPayroll(result.payrollPrepared)\n })\n }, [companyId, payrollId, preparePayroll, employeeUuids, baseSubmitHandler])\n\n useEffect(() => {\n void handlePreparePayroll()\n }, [handlePreparePayroll])\n\n const isLoading = isPreparePayrollPending || isPayScheduleLoading\n\n return {\n handlePreparePayroll,\n preparedPayroll,\n paySchedule: payScheduleData?.payScheduleObject,\n isLoading,\n }\n}\n"],"names":["usePreparedPayrollData","companyId","payrollId","employeeUuids","sortBy","preparePayroll","isPreparePayrollPending","usePayrollsPrepareMutation","preparedPayroll","setPreparedPayroll","useState","baseSubmitHandler","useBase","payScheduleData","isPayScheduleLoading","usePaySchedulesGet","handlePreparePayroll","useCallback","result","useEffect","isLoading"],"mappings":";;;;;;;;;;;;;;AAsBO,MAAMA,IAAyB,CAAC;AAAA,EACrC,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AACF,MAAkE;AAChE,QAAM,EAAE,aAAaC,GAAgB,WAAWC,EAAA,IAC9CC,EAAA,GACI,CAACC,GAAiBC,CAAkB,IAAIC,EAAA,GACxC,EAAE,mBAAAC,EAAA,IAAsBC,EAAA,GAExB,EAAE,MAAMC,GAAiB,WAAWC,MAAyBC;AAAA,IACjE;AAAA,MACE,WAAAd;AAAA,MACA,eAAeO,GAAiB,WAAW,mBAAmB;AAAA,IAAA;AAAA,IAEhE;AAAA,MACE,SAAS,CAAC,CAACA,GAAiB,WAAW;AAAA,IAAA;AAAA,EACzC,GAGIQ,IAAuBC,EAAY,YAAY;AACnD,UAAMN,EAAkB,MAAM,YAAY;AACxC,YAAMO,IAAS,MAAMb,EAAe;AAAA,QAClC,SAAS;AAAA,UACP,WAAAJ;AAAA,UACA,WAAAC;AAAA,UACA,QAAAE;AAAA,UACA,aAAa;AAAA,YACX,eAAAD;AAAA,UAAA;AAAA,QACF;AAAA,MACF,CACD;AACD,MAAAM,EAAmBS,EAAO,eAAe;AAAA,IAC3C,CAAC;AAAA,EACH,GAAG,CAACjB,GAAWC,GAAWG,GAAgBF,GAAeQ,CAAiB,CAAC;AAE3E,EAAAQ,EAAU,MAAM;AACd,IAAKH,EAAA;AAAA,EACP,GAAG,CAACA,CAAoB,CAAC;AAEzB,QAAMI,IAAYd,KAA2BQ;AAE7C,SAAO;AAAA,IACL,sBAAAE;AAAA,IACA,iBAAAR;AAAA,IACA,aAAaK,GAAiB;AAAA,IAC9B,WAAAO;AAAA,EAAA;AAEJ;"}
@@ -1,8 +1,10 @@
1
+ import { QueryClient } from '@tanstack/react-query';
1
2
  import { SDKHooks } from '../../types/hooks';
2
3
  export interface ApiProviderProps {
3
4
  url: string;
4
5
  headers?: HeadersInit;
5
6
  hooks?: SDKHooks;
6
7
  children: React.ReactNode;
8
+ queryClient?: QueryClient;
7
9
  }
8
- export declare function ApiProvider({ url, headers, hooks, children }: ApiProviderProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function ApiProvider({ url, headers, hooks, children, queryClient: queryClientFromProps, }: ApiProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,18 +1,24 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import { QueryClient as p, QueryClientProvider as E } from "@tanstack/react-query";
3
- import { GustoEmbeddedProvider as H } from "@gusto/embedded-api/react-query/_context";
4
- import { GustoEmbeddedCore as b } from "@gusto/embedded-api/core";
5
- import { SDKHooks as R } from "@gusto/embedded-api/hooks/hooks";
6
- import { useMemo as a } from "react";
7
- function Q({ url: i, headers: s, hooks: e, children: u }) {
8
- const d = a(() => {
9
- const r = new b({
10
- serverURL: i
11
- }), o = r._options.hooks || new R();
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { QueryClient as E, QueryClientProvider as H } from "@tanstack/react-query";
3
+ import { GustoEmbeddedProvider as b } from "@gusto/embedded-api/react-query/_context";
4
+ import { GustoEmbeddedCore as R } from "@gusto/embedded-api/core";
5
+ import { SDKHooks as g } from "@gusto/embedded-api/hooks/hooks";
6
+ import { useMemo as u } from "react";
7
+ function x({
8
+ url: f,
9
+ headers: s,
10
+ hooks: e,
11
+ children: d,
12
+ queryClient: i
13
+ }) {
14
+ const m = u(() => {
15
+ const r = new R({
16
+ serverURL: f
17
+ }), o = r._options.hooks || new g();
12
18
  if (s) {
13
19
  const t = {
14
- beforeRequest: (g, n) => (new Headers(s).forEach((f, l) => {
15
- f && n.headers.set(l, f);
20
+ beforeRequest: (q, n) => (new Headers(s).forEach((c, p) => {
21
+ c && n.headers.set(p, c);
16
22
  }), n)
17
23
  };
18
24
  o.registerBeforeRequestHook(t);
@@ -26,15 +32,17 @@ function Q({ url: i, headers: s, hooks: e, children: u }) {
26
32
  }), e?.afterError && e.afterError.forEach((t) => {
27
33
  o.registerAfterErrorHook(t);
28
34
  }), r._options.hooks || (r._options.hooks = o), r;
29
- }, [i, s, e]), m = a(() => {
30
- const r = new p(), o = async () => {
35
+ }, [f, s, e]), l = u(() => {
36
+ if (i)
37
+ return i;
38
+ const r = new E(), o = async () => {
31
39
  await r.invalidateQueries();
32
40
  };
33
41
  return r.setQueryDefaults(["@gusto/embedded-api"], { retry: !1 }), r.setMutationDefaults(["@gusto/embedded-api"], { onSettled: o, retry: !1 }), r;
34
- }, []);
35
- return /* @__PURE__ */ c(E, { client: m, children: /* @__PURE__ */ c(H, { client: d, children: u }) });
42
+ }, [i]);
43
+ return /* @__PURE__ */ a(H, { client: l, children: /* @__PURE__ */ a(b, { client: m, children: d }) });
36
44
  }
37
45
  export {
38
- Q as ApiProvider
46
+ x as ApiProvider
39
47
  };
40
48
  //# sourceMappingURL=ApiProvider.js.map