@gusto/embedded-react-sdk 0.12.3 → 0.13.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.
- package/CHANGELOG.md +6 -0
- package/dist/assets/icons/spinner_small.svg.js +10 -0
- package/dist/assets/icons/spinner_small.svg.js.map +1 -0
- package/dist/components/Base/Base.js +27 -26
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Base/useBase.d.ts +2 -0
- package/dist/components/Base/useBase.js.map +1 -1
- package/dist/components/Common/DataView/DataView.d.ts +2 -1
- package/dist/components/Common/DataView/DataView.js +20 -19
- package/dist/components/Common/DataView/DataView.js.map +1 -1
- package/dist/components/Common/DataView/useDataView.d.ts +3 -1
- package/dist/components/Common/DataView/useDataView.js +13 -11
- package/dist/components/Common/DataView/useDataView.js.map +1 -1
- package/dist/components/Common/EmptyData/EmptyData.module.scss.js +1 -1
- package/dist/components/Common/InlineSpinner/InlineSpinner.d.ts +6 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.js +25 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.js.map +1 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js +10 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js.map +1 -0
- package/dist/components/Common/InlineSpinner/index.d.ts +2 -0
- package/dist/components/Common/PaginationControl/PaginationControl.js +31 -28
- package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -0
- package/dist/components/Common/SignatureForm/SignatureForm.js +3 -2
- package/dist/components/Common/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Common/SignatureForm/SignatureFormActions.js +7 -6
- package/dist/components/Common/SignatureForm/SignatureFormActions.js.map +1 -1
- package/dist/components/Common/SignatureForm/SignatureFormFields.js +8 -7
- package/dist/components/Common/SignatureForm/SignatureFormFields.js.map +1 -1
- package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
- package/dist/components/Common/index.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +7 -6
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +3 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +3 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +2 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +6 -5
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +10 -9
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +9 -8
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +7 -6
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +13 -12
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +12 -11
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +7 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Form.js +5 -4
- package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +10 -9
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +7 -6
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +3 -2
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +4 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +33 -32
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/Edit.js +3 -2
- package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
- package/dist/components/Company/PaySchedule/usePaySchedule.js +6 -5
- package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/Address.js +4 -3
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/Address/Form.js +3 -2
- package/dist/components/Contractor/Address/Form.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +6 -5
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +51 -49
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/types.d.ts +1 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +19 -12
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +6 -5
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +4 -4
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +19 -19
- package/dist/components/Contractor/Profile/useContractorProfile.js +2 -2
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +24 -24
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +8 -7
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +4 -3
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +10 -9
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/EmployeeList.js +75 -62
- package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/List.js +27 -25
- package/dist/components/Employee/EmployeeList/List.js.map +1 -1
- package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +1 -0
- package/dist/components/Employee/EmployeeList/useEmployeeList.js +4 -3
- package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +4 -3
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/BankAccount.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.d.ts +8 -8
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +6 -5
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
- package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +2 -2
- package/dist/components/Employee/Profile/HomeAddress.js +5 -4
- package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
- package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
- package/dist/components/Employee/Profile/PersonalDetailsInputs.js +21 -20
- package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
- package/dist/components/Employee/Profile/Profile.js +2 -0
- package/dist/components/Employee/Profile/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/useProfile.js +4 -3
- package/dist/components/Employee/Profile/useProfile.js.map +1 -1
- package/dist/components/Employee/StateTaxes/useStateTaxes.js +4 -3
- package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
- package/dist/components/Employee/Taxes/useTaxes.js +4 -3
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +4 -2
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +75 -34
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +10 -5
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +116 -50
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +6 -5
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +24 -11
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +8 -6
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +34 -25
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +3 -2
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.d.ts +2 -1
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js +4 -4
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js.map +1 -1
- package/dist/components/Payroll/helpers.d.ts +20 -0
- package/dist/components/Payroll/helpers.js +208 -0
- package/dist/components/Payroll/helpers.js.map +1 -0
- package/dist/components/Payroll/helpers.test.d.ts +1 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +3 -2
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/helpers/formattedStrings.d.ts +9 -0
- package/dist/helpers/formattedStrings.js +55 -16
- package/dist/helpers/formattedStrings.js.map +1 -1
- package/dist/i18n/I18n.js +11 -11
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +30 -0
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollList.json.js +14 -0
- package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -0
- package/dist/i18n/en/common.json.d.ts +8 -0
- package/dist/i18n/en/common.json.js +15 -13
- package/dist/i18n/en/common.json.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +45 -1
- package/package.json +28 -28
|
@@ -6,11 +6,12 @@ import "../../../Base/useBase.js";
|
|
|
6
6
|
import "../../../../shared/constants.js";
|
|
7
7
|
import "classnames";
|
|
8
8
|
import "dompurify";
|
|
9
|
+
import "../../../../contexts/LocaleProvider/useLocale.js";
|
|
9
10
|
import "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
11
|
import { createCompoundContext as o } from "../../../Base/createCompoundContext.js";
|
|
11
|
-
const [
|
|
12
|
+
const [C, F] = o("SignatureFormContext");
|
|
12
13
|
export {
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
F as SignatureFormProvider,
|
|
15
|
+
C as useSignatureForm
|
|
15
16
|
};
|
|
16
17
|
//# sourceMappingURL=useSignatureForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSignatureForm.js","sources":["../../../../../src/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype SignatureFormContextType = {\n form: Form\n pdfUrl?: string | null\n handleBack: () => void\n isPending: boolean\n}\n\nconst [useSignatureForm, SignatureFormProvider] =\n createCompoundContext<SignatureFormContextType>('SignatureFormContext')\nexport { useSignatureForm, SignatureFormProvider }\n"],"names":["useSignatureForm","SignatureFormProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSignatureForm.js","sources":["../../../../../src/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype SignatureFormContextType = {\n form: Form\n pdfUrl?: string | null\n handleBack: () => void\n isPending: boolean\n}\n\nconst [useSignatureForm, SignatureFormProvider] =\n createCompoundContext<SignatureFormContextType>('SignatureFormContext')\nexport { useSignatureForm, SignatureFormProvider }\n"],"names":["useSignatureForm","SignatureFormProvider","createCompoundContext"],"mappings":";;;;;;;;;;;AAUA,MAAM,CAACA,GAAkBC,CAAqB,IAC5CC,EAAgD,sBAAsB;"}
|
|
@@ -1,67 +1,79 @@
|
|
|
1
|
-
import { jsx as o, jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import {
|
|
4
|
-
import { useEmployeesDeleteMutation as
|
|
5
|
-
import { useEmployeesUpdateOnboardingStatusMutation as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import { jsx as o, jsxs as C } from "react/jsx-runtime";
|
|
2
|
+
import { useState as y } from "react";
|
|
3
|
+
import { useEmployeesList as G } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/employeesList.js";
|
|
4
|
+
import { useEmployeesDeleteMutation as F } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/employeesDelete.js";
|
|
5
|
+
import { useEmployeesUpdateOnboardingStatusMutation as Y } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/employeesUpdateOnboardingStatus.js";
|
|
6
|
+
import { keepPreviousData as U } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@tanstack/react-query/build/modern/index.js";
|
|
7
|
+
import { EmployeeListProvider as W } from "./useEmployeeList.js";
|
|
8
|
+
import { Actions as k } from "./Actions.js";
|
|
9
|
+
import { BaseComponent as q } from "../../Base/Base.js";
|
|
10
|
+
import { useBase as j } from "../../Base/useBase.js";
|
|
11
|
+
import { Flex as H } from "../../Common/Flex/Flex.js";
|
|
11
12
|
import "classnames";
|
|
12
|
-
import { componentEvents as s, EmployeeOnboardingStatus as
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
import { componentEvents as s, EmployeeOnboardingStatus as E } from "../../../shared/constants.js";
|
|
14
|
+
import { Loading as V } from "../../Common/Loading/Loading.js";
|
|
15
|
+
import { useI18n as z, useComponentDictionary as J } from "../../../i18n/I18n.js";
|
|
16
|
+
import { Head as K } from "./Head.js";
|
|
17
|
+
import { List as Q } from "./List.js";
|
|
18
|
+
import { useFlow as X } from "../../Flow/useFlow.js";
|
|
19
|
+
function Z(n) {
|
|
20
|
+
return /* @__PURE__ */ o(q, { ...n, children: /* @__PURE__ */ o($, { ...n, children: n.children }) });
|
|
19
21
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
const { onEvent: a, baseSubmitHandler: r } =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
function $({ companyId: n, className: m, children: l, dictionary: h }) {
|
|
23
|
+
z("Employee.EmployeeList"), J("Employee.EmployeeList", h);
|
|
24
|
+
const { onEvent: a, baseSubmitHandler: r } = j(), [p, i] = y(1), [P, g] = y(5), { data: u, fetchStatus: f, isFetching: O } = G(
|
|
25
|
+
{
|
|
26
|
+
companyId: n,
|
|
27
|
+
page: p,
|
|
28
|
+
per: P
|
|
29
|
+
},
|
|
30
|
+
{ placeholderData: U }
|
|
31
|
+
), { mutateAsync: D } = F(), { mutateAsync: I } = Y();
|
|
32
|
+
if (f === "fetching" && !u)
|
|
33
|
+
return /* @__PURE__ */ o(V, {});
|
|
34
|
+
const { httpMeta: N, showEmployees: A } = u, L = A, c = Number(N.response.headers.get("x-total-pages") ?? 1), _ = (e) => {
|
|
35
|
+
g(e);
|
|
28
36
|
}, M = () => {
|
|
29
|
-
i(
|
|
37
|
+
i(1);
|
|
30
38
|
}, S = () => {
|
|
31
|
-
i(
|
|
32
|
-
}, w =
|
|
39
|
+
i((e) => Math.max(e - 1, 1));
|
|
40
|
+
}, w = () => {
|
|
41
|
+
i((e) => Math.min(e + 1, c));
|
|
42
|
+
}, b = () => {
|
|
43
|
+
i(c);
|
|
44
|
+
}, R = async (e) => {
|
|
33
45
|
await r(e, async (t) => {
|
|
34
|
-
await
|
|
46
|
+
await D({
|
|
35
47
|
request: { employeeId: t }
|
|
36
48
|
}), a(s.EMPLOYEE_DELETED, { employeeId: t });
|
|
37
49
|
});
|
|
38
|
-
},
|
|
50
|
+
}, T = async (e) => {
|
|
39
51
|
await r(e, async (t) => {
|
|
40
|
-
await
|
|
52
|
+
await d({
|
|
41
53
|
employeeId: t,
|
|
42
|
-
status:
|
|
54
|
+
status: E.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW
|
|
43
55
|
}), a(s.EMPLOYEE_UPDATE, {
|
|
44
56
|
employeeId: t,
|
|
45
|
-
onboardingStatus:
|
|
57
|
+
onboardingStatus: E.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW
|
|
46
58
|
});
|
|
47
59
|
});
|
|
48
|
-
},
|
|
60
|
+
}, x = async (e) => {
|
|
49
61
|
await r(e, async (t) => {
|
|
50
|
-
await
|
|
62
|
+
await d({
|
|
51
63
|
employeeId: t,
|
|
52
|
-
status:
|
|
64
|
+
status: E.ADMIN_ONBOARDING_INCOMPLETE
|
|
53
65
|
});
|
|
54
66
|
});
|
|
55
|
-
},
|
|
56
|
-
await r(e, async ({ employeeId: t, status:
|
|
57
|
-
const { employeeOnboardingStatus:
|
|
58
|
-
request: { employeeId: t, requestBody: { onboardingStatus:
|
|
67
|
+
}, d = async (e) => {
|
|
68
|
+
await r(e, async ({ employeeId: t, status: v }) => {
|
|
69
|
+
const { employeeOnboardingStatus: B } = await I({
|
|
70
|
+
request: { employeeId: t, requestBody: { onboardingStatus: v } }
|
|
59
71
|
});
|
|
60
|
-
a(s.EMPLOYEE_ONBOARDING_STATUS_UPDATED,
|
|
72
|
+
a(s.EMPLOYEE_ONBOARDING_STATUS_UPDATED, B);
|
|
61
73
|
});
|
|
62
74
|
};
|
|
63
75
|
return /* @__PURE__ */ o("section", { className: m, children: /* @__PURE__ */ o(
|
|
64
|
-
|
|
76
|
+
W,
|
|
65
77
|
{
|
|
66
78
|
value: {
|
|
67
79
|
handleEdit: (e, t) => {
|
|
@@ -70,35 +82,36 @@ function K({ companyId: n, className: m, children: c, dictionary: y }) {
|
|
|
70
82
|
handleNew: () => {
|
|
71
83
|
a(s.EMPLOYEE_CREATE);
|
|
72
84
|
},
|
|
73
|
-
handleReview:
|
|
74
|
-
handleDelete:
|
|
75
|
-
employees:
|
|
85
|
+
handleReview: T,
|
|
86
|
+
handleDelete: R,
|
|
87
|
+
employees: L,
|
|
76
88
|
currentPage: p,
|
|
77
|
-
totalPages:
|
|
78
|
-
handleFirstPage:
|
|
79
|
-
handlePreviousPage:
|
|
80
|
-
handleNextPage:
|
|
81
|
-
handleLastPage:
|
|
82
|
-
handleCancelSelfOnboarding:
|
|
83
|
-
handleItemsPerPageChange:
|
|
89
|
+
totalPages: c,
|
|
90
|
+
handleFirstPage: M,
|
|
91
|
+
handlePreviousPage: S,
|
|
92
|
+
handleNextPage: w,
|
|
93
|
+
handleLastPage: b,
|
|
94
|
+
handleCancelSelfOnboarding: x,
|
|
95
|
+
handleItemsPerPageChange: _,
|
|
84
96
|
handleSkip: () => {
|
|
85
97
|
a(s.EMPLOYEE_ONBOARDING_DONE);
|
|
86
|
-
}
|
|
98
|
+
},
|
|
99
|
+
isFetching: O
|
|
87
100
|
},
|
|
88
|
-
children:
|
|
89
|
-
/* @__PURE__ */ o(
|
|
90
|
-
/* @__PURE__ */ o(
|
|
91
|
-
/* @__PURE__ */ o(
|
|
101
|
+
children: l || /* @__PURE__ */ C(H, { flexDirection: "column", children: [
|
|
102
|
+
/* @__PURE__ */ o(K, {}),
|
|
103
|
+
/* @__PURE__ */ o(Q, {}),
|
|
104
|
+
/* @__PURE__ */ o(k, {})
|
|
92
105
|
] })
|
|
93
106
|
}
|
|
94
107
|
) });
|
|
95
108
|
}
|
|
96
|
-
const
|
|
97
|
-
const { companyId: n, onEvent: m } =
|
|
98
|
-
return /* @__PURE__ */ o(
|
|
109
|
+
const De = () => {
|
|
110
|
+
const { companyId: n, onEvent: m } = X();
|
|
111
|
+
return /* @__PURE__ */ o(Z, { companyId: n, onEvent: m });
|
|
99
112
|
};
|
|
100
113
|
export {
|
|
101
|
-
|
|
102
|
-
|
|
114
|
+
Z as EmployeeList,
|
|
115
|
+
De as EmployeeListContextual
|
|
103
116
|
};
|
|
104
117
|
//# sourceMappingURL=EmployeeList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmployeeList.js","sources":["../../../../src/components/Employee/EmployeeList/EmployeeList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api/react-query/employeesList'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport { useEmployeesDeleteMutation } from '@gusto/embedded-api/react-query/employeesDelete'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { EmployeeListProvider } from './useEmployeeList'\nimport { Actions } from './Actions'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { Flex } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents, EmployeeOnboardingStatus } from '@/shared/constants'\nimport { Head } from '@/components/Employee/EmployeeList/Head'\nimport { List } from '@/components/Employee/EmployeeList/List'\nimport { useFlow } from '@/components/Flow/useFlow'\n\n//Interface for component specific props\ninterface EmployeeListProps extends CommonComponentInterface<'Employee.EmployeeList'> {\n companyId: string\n}\n\nexport function EmployeeList(props: EmployeeListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\nfunction Root({ companyId, className, children, dictionary }: EmployeeListProps) {\n //Using i18n hook to directly load necessary namespace\n useI18n('Employee.EmployeeList')\n useComponentDictionary('Employee.EmployeeList', dictionary)\n //Getting props from base context\n const { onEvent, baseSubmitHandler } = useBase()\n const [currentPage, setCurrentPage] = useState(1)\n const [itemsPerPage, setItemsPerPage] = useState(5)\n\n const { data } = useEmployeesListSuspense({ companyId, page: currentPage, per: itemsPerPage })\n const { httpMeta, showEmployees: employeeList } = data\n const employees = employeeList!\n\n const { mutateAsync: deleteEmployeeMutation } = useEmployeesDeleteMutation()\n const { mutateAsync: updateEmployeeOnboardingStatusMutation } =\n useEmployeesUpdateOnboardingStatusMutation()\n\n const totalPages = Number(httpMeta.response.headers.get('x-total-pages') ?? 1)\n\n const handleItemsPerPageChange = (newCount: number) => {\n setItemsPerPage(newCount)\n }\n const handleFirstPage = () => {\n setCurrentPage(1)\n }\n const handlePreviousPage = () => {\n setCurrentPage(prevPage => Math.max(prevPage - 1, 1))\n }\n const handleNextPage = () => {\n setCurrentPage(prevPage => Math.min(prevPage + 1, totalPages))\n }\n const handleLastPage = () => {\n setCurrentPage(totalPages)\n }\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteEmployeeMutation({\n request: { employeeId: payload },\n })\n\n onEvent(componentEvents.EMPLOYEE_DELETED, { employeeId: payload })\n })\n }\n /**Set onboarding status to self_onboarding_awaiting_admin_review and proceed to edit */\n const handleReview = async (data: string) => {\n await baseSubmitHandler(data, async employeeId => {\n await updateOnboardingStatus({\n employeeId,\n status: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n })\n onEvent(componentEvents.EMPLOYEE_UPDATE, {\n employeeId,\n onboardingStatus: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n })\n })\n }\n /**Update employee onboarding status reverting it back to admin_onboarding_incomplete */\n const handleCancelSelfOnboarding = async (data: string) => {\n await baseSubmitHandler(data, async employeeId => {\n await updateOnboardingStatus({\n employeeId,\n status: EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n })\n })\n }\n const updateOnboardingStatus = async (data: { employeeId: string; status: OnboardingStatus }) => {\n await baseSubmitHandler(data, async ({ employeeId, status }) => {\n const { employeeOnboardingStatus: responseData } =\n await updateEmployeeOnboardingStatusMutation({\n request: { employeeId, requestBody: { onboardingStatus: status } },\n })\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, responseData)\n })\n }\n const handleNew = () => {\n onEvent(componentEvents.EMPLOYEE_CREATE)\n }\n const handleSkip = () => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }\n\n const handleEdit = (uuid: string, onboardingStatus?: OnboardingStatus) => {\n onEvent(componentEvents.EMPLOYEE_UPDATE, { employeeId: uuid, onboardingStatus })\n }\n return (\n <section className={className}>\n <EmployeeListProvider\n value={{\n handleEdit,\n handleNew,\n handleReview,\n handleDelete,\n employees,\n currentPage,\n totalPages,\n handleFirstPage,\n handlePreviousPage,\n handleNextPage,\n handleLastPage,\n handleCancelSelfOnboarding,\n handleItemsPerPageChange,\n handleSkip,\n }}\n >\n {children ? (\n children\n ) : (\n <Flex flexDirection=\"column\">\n <Head />\n <List />\n <Actions />\n </Flex>\n )}\n </EmployeeListProvider>\n </section>\n )\n}\n\n/**\n * Wrapper used inside Flows -> exposes flow context for required parameters\n */\nexport const EmployeeListContextual = () => {\n const { companyId, onEvent } = useFlow<OnboardingContextInterface>()\n return <EmployeeList companyId={companyId} onEvent={onEvent} />\n}\n"],"names":["EmployeeList","props","jsx","BaseComponent","Root","companyId","className","children","dictionary","useI18n","useComponentDictionary","onEvent","baseSubmitHandler","useBase","currentPage","setCurrentPage","useState","itemsPerPage","setItemsPerPage","data","useEmployeesListSuspense","httpMeta","employeeList","employees","deleteEmployeeMutation","useEmployeesDeleteMutation","updateEmployeeOnboardingStatusMutation","useEmployeesUpdateOnboardingStatusMutation","totalPages","handleItemsPerPageChange","newCount","handleFirstPage","handlePreviousPage","prevPage","handleNextPage","handleLastPage","handleDelete","uuid","payload","componentEvents","handleReview","employeeId","updateOnboardingStatus","EmployeeOnboardingStatus","handleCancelSelfOnboarding","status","responseData","EmployeeListProvider","onboardingStatus","jsxs","Flex","Head","List","Actions","EmployeeListContextual","useFlow"],"mappings":";;;;;;;;;;;;;;;;AA0BO,SAASA,EAAaC,GAAmD;AAC9E,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AACA,SAASG,EAAK,EAAE,WAAAC,GAAW,WAAAC,GAAW,UAAAC,GAAU,YAAAC,KAAiC;AAE/E,EAAAC,EAAQ,uBAAuB,GAC/BC,EAAuB,yBAAyBF,CAAU;AAE1D,QAAM,EAAE,SAAAG,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GACjC,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC,GAC1C,CAACC,GAAcC,CAAe,IAAIF,EAAS,CAAC,GAE5C,EAAE,MAAAG,MAASC,EAAyB,EAAE,WAAAf,GAAW,MAAMS,GAAa,KAAKG,GAAc,GACvF,EAAE,UAAAI,GAAU,eAAeC,EAAA,IAAiBH,GAC5CI,IAAYD,GAEZ,EAAE,aAAaE,EAAA,IAA2BC,EAAA,GAC1C,EAAE,aAAaC,EAAA,IACnBC,EAAA,GAEIC,IAAa,OAAOP,EAAS,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC,GAEvEQ,IAA2B,CAACC,MAAqB;AACrD,IAAAZ,EAAgBY,CAAQ;AAAA,EAC1B,GACMC,IAAkB,MAAM;AAC5B,IAAAhB,EAAe,CAAC;AAAA,EAClB,GACMiB,IAAqB,MAAM;AAC/B,IAAAjB,EAAe,OAAY,KAAK,IAAIkB,IAAW,GAAG,CAAC,CAAC;AAAA,EACtD,GACMC,IAAiB,MAAM;AAC3B,IAAAnB,EAAe,OAAY,KAAK,IAAIkB,IAAW,GAAGL,CAAU,CAAC;AAAA,EAC/D,GACMO,IAAiB,MAAM;AAC3B,IAAApB,EAAea,CAAU;AAAA,EAC3B,GACMQ,IAAe,OAAOC,MAAiB;AAC3C,UAAMzB,EAAkByB,GAAM,OAAMC,MAAW;AAC7C,YAAMd,EAAuB;AAAA,QAC3B,SAAS,EAAE,YAAYc,EAAA;AAAA,MAAQ,CAChC,GAED3B,EAAQ4B,EAAgB,kBAAkB,EAAE,YAAYD,GAAS;AAAA,IACnE,CAAC;AAAA,EACH,GAEME,IAAe,OAAOrB,MAAiB;AAC3C,UAAMP,EAAkBO,GAAM,OAAMsB,MAAc;AAChD,YAAMC,EAAuB;AAAA,QAC3B,YAAAD;AAAA,QACA,QAAQE,EAAyB;AAAA,MAAA,CAClC,GACDhC,EAAQ4B,EAAgB,iBAAiB;AAAA,QACvC,YAAAE;AAAA,QACA,kBAAkBE,EAAyB;AAAA,MAAA,CAC5C;AAAA,IACH,CAAC;AAAA,EACH,GAEMC,IAA6B,OAAOzB,MAAiB;AACzD,UAAMP,EAAkBO,GAAM,OAAMsB,MAAc;AAChD,YAAMC,EAAuB;AAAA,QAC3B,YAAAD;AAAA,QACA,QAAQE,EAAyB;AAAA,MAAA,CAClC;AAAA,IACH,CAAC;AAAA,EACH,GACMD,IAAyB,OAAOvB,MAA2D;AAC/F,UAAMP,EAAkBO,GAAM,OAAO,EAAE,YAAAsB,GAAY,QAAAI,QAAa;AAC9D,YAAM,EAAE,0BAA0BC,EAAA,IAChC,MAAMpB,EAAuC;AAAA,QAC3C,SAAS,EAAE,YAAAe,GAAY,aAAa,EAAE,kBAAkBI,IAAO;AAAA,MAAE,CAClE;AACH,MAAAlC,EAAQ4B,EAAgB,oCAAoCO,CAAY;AAAA,IAC1E,CAAC;AAAA,EACH;AAWA,SACE,gBAAA5C,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAJ;AAAA,IAAC6C;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,YAPW,CAACV,GAAcW,MAAwC;AACxE,UAAArC,EAAQ4B,EAAgB,iBAAiB,EAAE,YAAYF,GAAM,kBAAAW,GAAkB;AAAA,QACjF;AAAA,QAMQ,WAfU,MAAM;AACtB,UAAArC,EAAQ4B,EAAgB,eAAe;AAAA,QACzC;AAAA,QAcQ,cAAAC;AAAA,QACA,cAAAJ;AAAA,QACA,WAAAb;AAAA,QACA,aAAAT;AAAA,QACA,YAAAc;AAAA,QACA,iBAAAG;AAAA,QACA,oBAAAC;AAAA,QACA,gBAAAE;AAAA,QACA,gBAAAC;AAAA,QACA,4BAAAS;AAAA,QACA,0BAAAf;AAAA,QACA,YAxBW,MAAM;AACvB,UAAAlB,EAAQ4B,EAAgB,wBAAwB;AAAA,QAClD;AAAA,MAsBQ;AAAA,MAGD,UAAAhC,KAGC,gBAAA0C,EAACC,GAAA,EAAK,eAAc,UAClB,UAAA;AAAA,QAAA,gBAAAhD,EAACiD,GAAA,EAAK;AAAA,0BACLC,GAAA,EAAK;AAAA,0BACLC,GAAA,CAAA,CAAQ;AAAA,MAAA,EAAA,CACX;AAAA,IAAA;AAAA,EAAA,GAGN;AAEJ;AAKO,MAAMC,KAAyB,MAAM;AAC1C,QAAM,EAAE,WAAAjD,GAAW,SAAAM,EAAA,IAAY4C,EAAA;AAC/B,SAAO,gBAAArD,EAACF,GAAA,EAAa,WAAAK,GAAsB,SAAAM,EAAA,CAAkB;AAC/D;"}
|
|
1
|
+
{"version":3,"file":"EmployeeList.js","sources":["../../../../src/components/Employee/EmployeeList/EmployeeList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useEmployeesList } from '@gusto/embedded-api/react-query/employeesList'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport { useEmployeesDeleteMutation } from '@gusto/embedded-api/react-query/employeesDelete'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport { keepPreviousData } from '@tanstack/react-query'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { EmployeeListProvider } from './useEmployeeList'\nimport { Actions } from './Actions'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { Flex, Loading } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents, EmployeeOnboardingStatus } from '@/shared/constants'\nimport { Head } from '@/components/Employee/EmployeeList/Head'\nimport { List } from '@/components/Employee/EmployeeList/List'\nimport { useFlow } from '@/components/Flow/useFlow'\n\n//Interface for component specific props\ninterface EmployeeListProps extends CommonComponentInterface<'Employee.EmployeeList'> {\n companyId: string\n}\n\nexport function EmployeeList(props: EmployeeListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\nfunction Root({ companyId, className, children, dictionary }: EmployeeListProps) {\n //Using i18n hook to directly load necessary namespace\n useI18n('Employee.EmployeeList')\n useComponentDictionary('Employee.EmployeeList', dictionary)\n //Getting props from base context\n const { onEvent, baseSubmitHandler } = useBase()\n const [currentPage, setCurrentPage] = useState(1)\n const [itemsPerPage, setItemsPerPage] = useState(5)\n\n const { data, fetchStatus, isFetching } = useEmployeesList(\n {\n companyId,\n page: currentPage,\n per: itemsPerPage,\n },\n { placeholderData: keepPreviousData },\n )\n\n const { mutateAsync: deleteEmployeeMutation } = useEmployeesDeleteMutation()\n const { mutateAsync: updateEmployeeOnboardingStatusMutation } =\n useEmployeesUpdateOnboardingStatusMutation()\n\n if (fetchStatus === 'fetching' && !data) {\n return <Loading />\n }\n const { httpMeta, showEmployees: employeeList } = data!\n const employees = employeeList!\n\n const totalPages = Number(httpMeta.response.headers.get('x-total-pages') ?? 1)\n\n const handleItemsPerPageChange = (newCount: number) => {\n setItemsPerPage(newCount)\n }\n const handleFirstPage = () => {\n setCurrentPage(1)\n }\n const handlePreviousPage = () => {\n setCurrentPage(prevPage => Math.max(prevPage - 1, 1))\n }\n const handleNextPage = () => {\n setCurrentPage(prevPage => Math.min(prevPage + 1, totalPages))\n }\n const handleLastPage = () => {\n setCurrentPage(totalPages)\n }\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteEmployeeMutation({\n request: { employeeId: payload },\n })\n\n onEvent(componentEvents.EMPLOYEE_DELETED, { employeeId: payload })\n })\n }\n /**Set onboarding status to self_onboarding_awaiting_admin_review and proceed to edit */\n const handleReview = async (data: string) => {\n await baseSubmitHandler(data, async employeeId => {\n await updateOnboardingStatus({\n employeeId,\n status: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n })\n onEvent(componentEvents.EMPLOYEE_UPDATE, {\n employeeId,\n onboardingStatus: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n })\n })\n }\n /**Update employee onboarding status reverting it back to admin_onboarding_incomplete */\n const handleCancelSelfOnboarding = async (data: string) => {\n await baseSubmitHandler(data, async employeeId => {\n await updateOnboardingStatus({\n employeeId,\n status: EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n })\n })\n }\n const updateOnboardingStatus = async (data: { employeeId: string; status: OnboardingStatus }) => {\n await baseSubmitHandler(data, async ({ employeeId, status }) => {\n const { employeeOnboardingStatus: responseData } =\n await updateEmployeeOnboardingStatusMutation({\n request: { employeeId, requestBody: { onboardingStatus: status } },\n })\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, responseData)\n })\n }\n const handleNew = () => {\n onEvent(componentEvents.EMPLOYEE_CREATE)\n }\n const handleSkip = () => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }\n\n const handleEdit = (uuid: string, onboardingStatus?: OnboardingStatus) => {\n onEvent(componentEvents.EMPLOYEE_UPDATE, { employeeId: uuid, onboardingStatus })\n }\n return (\n <section className={className}>\n <EmployeeListProvider\n value={{\n handleEdit,\n handleNew,\n handleReview,\n handleDelete,\n employees,\n currentPage,\n totalPages,\n handleFirstPage,\n handlePreviousPage,\n handleNextPage,\n handleLastPage,\n handleCancelSelfOnboarding,\n handleItemsPerPageChange,\n handleSkip,\n isFetching,\n }}\n >\n {children ? (\n children\n ) : (\n <Flex flexDirection=\"column\">\n <Head />\n <List />\n <Actions />\n </Flex>\n )}\n </EmployeeListProvider>\n </section>\n )\n}\n\n/**\n * Wrapper used inside Flows -> exposes flow context for required parameters\n */\nexport const EmployeeListContextual = () => {\n const { companyId, onEvent } = useFlow<OnboardingContextInterface>()\n return <EmployeeList companyId={companyId} onEvent={onEvent} />\n}\n"],"names":["EmployeeList","props","jsx","BaseComponent","Root","companyId","className","children","dictionary","useI18n","useComponentDictionary","onEvent","baseSubmitHandler","useBase","currentPage","setCurrentPage","useState","itemsPerPage","setItemsPerPage","data","fetchStatus","isFetching","useEmployeesList","keepPreviousData","deleteEmployeeMutation","useEmployeesDeleteMutation","updateEmployeeOnboardingStatusMutation","useEmployeesUpdateOnboardingStatusMutation","Loading","httpMeta","employeeList","employees","totalPages","handleItemsPerPageChange","newCount","handleFirstPage","handlePreviousPage","prevPage","handleNextPage","handleLastPage","handleDelete","uuid","payload","componentEvents","handleReview","employeeId","updateOnboardingStatus","EmployeeOnboardingStatus","handleCancelSelfOnboarding","status","responseData","EmployeeListProvider","onboardingStatus","jsxs","Flex","Head","List","Actions","EmployeeListContextual","useFlow"],"mappings":"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"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { jsx as e, jsxs as c, Fragment as
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import { useState as
|
|
4
|
-
import
|
|
5
|
-
import { useEmployeeList as
|
|
1
|
+
import { jsx as e, jsxs as c, Fragment as A } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as T } from "react-i18next";
|
|
3
|
+
import { useState as k } from "react";
|
|
4
|
+
import w from "./List.module.scss.js";
|
|
5
|
+
import { useEmployeeList as B } from "./useEmployeeList.js";
|
|
6
6
|
import "classnames";
|
|
7
|
-
import { EmployeeOnboardingStatus as i, EmployeeSelfOnboardingStatuses as
|
|
8
|
-
import { EmptyData as
|
|
7
|
+
import { EmployeeOnboardingStatus as i, EmployeeSelfOnboardingStatuses as M } from "../../../shared/constants.js";
|
|
8
|
+
import { EmptyData as y } from "../../Common/EmptyData/EmptyData.js";
|
|
9
9
|
import { ActionsLayout as h } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
10
|
-
import { useComponentContext as
|
|
11
|
-
import { HamburgerMenu as
|
|
12
|
-
import { EmployeeOnboardingStatusBadge as
|
|
10
|
+
import { useComponentContext as G } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
11
|
+
import { HamburgerMenu as R } from "../../Common/HamburgerMenu/HamburgerMenu.js";
|
|
12
|
+
import { EmployeeOnboardingStatusBadge as F } from "../../Common/OnboardingStatusBadge/index.js";
|
|
13
13
|
import s from "../../../assets/icons/pencil.svg.js";
|
|
14
14
|
import x from "../../../assets/icons/trashcan.svg.js";
|
|
15
|
-
import { firstLastName as
|
|
16
|
-
import { useDataView as
|
|
17
|
-
import { DataView as
|
|
18
|
-
const
|
|
15
|
+
import { firstLastName as V } from "../../../helpers/formattedStrings.js";
|
|
16
|
+
import { useDataView as j } from "../../Common/DataView/useDataView.js";
|
|
17
|
+
import { DataView as W } from "../../Common/DataView/DataView.js";
|
|
18
|
+
const ot = () => {
|
|
19
19
|
const {
|
|
20
20
|
handleDelete: g,
|
|
21
21
|
employees: d,
|
|
@@ -30,14 +30,15 @@ const rt = () => {
|
|
|
30
30
|
handleItemsPerPageChange: L,
|
|
31
31
|
currentPage: O,
|
|
32
32
|
totalPages: _,
|
|
33
|
-
handleSkip: D
|
|
34
|
-
|
|
33
|
+
handleSkip: D,
|
|
34
|
+
isFetching: I
|
|
35
|
+
} = B(), r = G(), { t: a } = T("Employee.EmployeeList"), [P, u] = k(/* @__PURE__ */ new Set()), { ...v } = j({
|
|
35
36
|
data: d,
|
|
36
37
|
columns: [
|
|
37
38
|
{
|
|
38
39
|
key: "name",
|
|
39
40
|
title: a("nameLabel"),
|
|
40
|
-
render: (t) =>
|
|
41
|
+
render: (t) => V({
|
|
41
42
|
first_name: t.firstName,
|
|
42
43
|
last_name: t.lastName
|
|
43
44
|
})
|
|
@@ -46,7 +47,7 @@ const rt = () => {
|
|
|
46
47
|
key: "status",
|
|
47
48
|
title: a("statusLabel"),
|
|
48
49
|
render: ({ onboarded: t, onboardingStatus: n }) => /* @__PURE__ */ e(
|
|
49
|
-
|
|
50
|
+
F,
|
|
50
51
|
{
|
|
51
52
|
onboarded: t,
|
|
52
53
|
onboardingStatus: n
|
|
@@ -62,7 +63,7 @@ const rt = () => {
|
|
|
62
63
|
p(t.uuid, t.onboardingStatus ?? void 0);
|
|
63
64
|
},
|
|
64
65
|
icon: /* @__PURE__ */ e(s, { "aria-hidden": !0 })
|
|
65
|
-
}),
|
|
66
|
+
}), M.has(t.onboarding_status ?? "") && n.push({
|
|
66
67
|
label: a("cancelSelfOnboardingCta"),
|
|
67
68
|
onClick: async () => {
|
|
68
69
|
await b(t.uuid);
|
|
@@ -86,14 +87,15 @@ const rt = () => {
|
|
|
86
87
|
},
|
|
87
88
|
icon: /* @__PURE__ */ e(x, { "aria-hidden": !0 })
|
|
88
89
|
}), /* @__PURE__ */ e(
|
|
89
|
-
|
|
90
|
+
R,
|
|
90
91
|
{
|
|
91
92
|
items: n,
|
|
92
93
|
triggerLabel: a("hamburgerTitle"),
|
|
93
|
-
isLoading:
|
|
94
|
+
isLoading: P.has(t.uuid)
|
|
94
95
|
}
|
|
95
96
|
);
|
|
96
97
|
},
|
|
98
|
+
isFetching: I,
|
|
97
99
|
pagination: {
|
|
98
100
|
handleNextPage: C,
|
|
99
101
|
handleFirstPage: E,
|
|
@@ -103,17 +105,17 @@ const rt = () => {
|
|
|
103
105
|
currentPage: O,
|
|
104
106
|
totalPages: _
|
|
105
107
|
},
|
|
106
|
-
emptyState: () => /* @__PURE__ */ e(
|
|
108
|
+
emptyState: () => /* @__PURE__ */ e(y, { title: a("emptyTableTitle"), description: a("emptyTableDescription"), children: /* @__PURE__ */ c(h, { justifyContent: "center", children: [
|
|
107
109
|
/* @__PURE__ */ e(r.Button, { variant: "secondary", onClick: D, children: a("skipCta") }),
|
|
108
110
|
/* @__PURE__ */ e(r.Button, { variant: "primary", onClick: l, children: a("addEmployeeCTA") })
|
|
109
111
|
] }) })
|
|
110
112
|
});
|
|
111
|
-
return /* @__PURE__ */ c(
|
|
113
|
+
return /* @__PURE__ */ c(A, { children: [
|
|
112
114
|
d.length > 0 && /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(r.Button, { variant: "secondary", onClick: l, children: a("addAnotherCta") }) }),
|
|
113
|
-
/* @__PURE__ */ e("div", { className:
|
|
115
|
+
/* @__PURE__ */ e("div", { className: w.container, children: /* @__PURE__ */ e(W, { label: a("employeeListLabel"), ...v }) })
|
|
114
116
|
] });
|
|
115
117
|
};
|
|
116
118
|
export {
|
|
117
|
-
|
|
119
|
+
ot as List
|
|
118
120
|
};
|
|
119
121
|
//# sourceMappingURL=List.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sources":["../../../../src/components/Employee/EmployeeList/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useState } from 'react'\nimport style from './List.module.scss'\nimport { useEmployeeList } from './useEmployeeList'\nimport { DataView, EmptyData, ActionsLayout, useDataView } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { EmployeeOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { EmployeeOnboardingStatus, EmployeeSelfOnboardingStatuses } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\n/**List of employees slot for EmployeeList component */\nexport const List = () => {\n const {\n handleDelete,\n employees,\n handleEdit,\n handleReview,\n handleNew,\n handleCancelSelfOnboarding,\n handleFirstPage,\n handlePreviousPage,\n handleNextPage,\n handleLastPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n handleSkip,\n } = useEmployeeList()\n const Components = useComponentContext()\n\n const { t } = useTranslation('Employee.EmployeeList')\n const [deleting, setDeleting] = useState<Set<string>>(new Set())\n const { ...dataViewProps } = useDataView({\n data: employees,\n columns: [\n {\n key: 'name',\n title: t('nameLabel'),\n render: employee => {\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n },\n },\n {\n key: 'status',\n title: t('statusLabel'),\n render: ({ onboarded, onboardingStatus }) => (\n <EmployeeOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n itemMenu: employee => {\n const menuItems = []\n\n // Edit item\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED\n ) {\n menuItems.push({\n label: t('editCta'),\n onClick: () => {\n handleEdit(employee.uuid, employee.onboardingStatus ?? undefined)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Cancel self onboarding item\n /* @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses */\n if (EmployeeSelfOnboardingStatuses.has(employee.onboarding_status ?? '')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: async () => {\n await handleCancelSelfOnboarding(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Review item\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n ) {\n menuItems.push({\n label: t('reviewCta'),\n onClick: () => {\n void handleReview(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Delete item\n if (!employee.onboarded) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setDeleting(prev => new Set(prev).add(employee.uuid))\n void handleDelete(employee.uuid).then(() => {\n setDeleting(prev => {\n const newSet = new Set(prev)\n newSet.delete(employee.uuid)\n return newSet\n })\n })\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return (\n <HamburgerMenu\n items={menuItems}\n triggerLabel={t('hamburgerTitle')}\n isLoading={deleting.has(employee.uuid)}\n />\n )\n },\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n },\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button variant=\"secondary\" onClick={handleSkip}>\n {t('skipCta')}\n </Components.Button>\n <Components.Button variant=\"primary\" onClick={handleNew}>\n {t('addEmployeeCTA')}\n </Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n return (\n <>\n {employees.length > 0 && (\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleNew}>\n {t('addAnotherCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n <div className={style.container}>\n <DataView label={t('employeeListLabel')} {...dataViewProps} />\n </div>\n </>\n )\n}\n"],"names":["List","handleDelete","employees","handleEdit","handleReview","handleNew","handleCancelSelfOnboarding","handleFirstPage","handlePreviousPage","handleNextPage","handleLastPage","handleItemsPerPageChange","currentPage","totalPages","handleSkip","useEmployeeList","Components","useComponentContext","t","useTranslation","deleting","setDeleting","useState","dataViewProps","useDataView","employee","firstLastName","onboarded","onboardingStatus","jsx","EmployeeOnboardingStatusBadge","menuItems","EmployeeOnboardingStatus","PencilSvg","EmployeeSelfOnboardingStatuses","prev","newSet","TrashCanSvg","HamburgerMenu","EmptyData","jsxs","ActionsLayout","Fragment","style","DataView"],"mappings":";;;;;;;;;;;;;;;;;AAcO,MAAMA,KAAO,MAAM;AACxB,QAAM;AAAA,IACJ,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,4BAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,EAAA,IACEC,EAAA,GACEC,IAAaC,EAAA,GAEb,EAAE,GAAAC,EAAA,IAAMC,EAAe,uBAAuB,GAC9C,CAACC,GAAUC,CAAW,IAAIC,EAAsB,oBAAI,KAAK,GACzD,EAAE,GAAGC,EAAA,IAAkBC,EAAY;AAAA,IACvC,
|
|
1
|
+
{"version":3,"file":"List.js","sources":["../../../../src/components/Employee/EmployeeList/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useState } from 'react'\nimport style from './List.module.scss'\nimport { useEmployeeList } from './useEmployeeList'\nimport { DataView, EmptyData, ActionsLayout, useDataView } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { EmployeeOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { EmployeeOnboardingStatus, EmployeeSelfOnboardingStatuses } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\n/**List of employees slot for EmployeeList component */\nexport const List = () => {\n const {\n handleDelete,\n employees,\n handleEdit,\n handleReview,\n handleNew,\n handleCancelSelfOnboarding,\n handleFirstPage,\n handlePreviousPage,\n handleNextPage,\n handleLastPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n handleSkip,\n isFetching,\n } = useEmployeeList()\n const Components = useComponentContext()\n\n const { t } = useTranslation('Employee.EmployeeList')\n const [deleting, setDeleting] = useState<Set<string>>(new Set())\n const { ...dataViewProps } = useDataView({\n data: employees,\n columns: [\n {\n key: 'name',\n title: t('nameLabel'),\n render: employee => {\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n },\n },\n {\n key: 'status',\n title: t('statusLabel'),\n render: ({ onboarded, onboardingStatus }) => (\n <EmployeeOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n itemMenu: employee => {\n const menuItems = []\n\n // Edit item\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED\n ) {\n menuItems.push({\n label: t('editCta'),\n onClick: () => {\n handleEdit(employee.uuid, employee.onboardingStatus ?? undefined)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Cancel self onboarding item\n /* @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses */\n if (EmployeeSelfOnboardingStatuses.has(employee.onboarding_status ?? '')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: async () => {\n await handleCancelSelfOnboarding(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Review item\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n ) {\n menuItems.push({\n label: t('reviewCta'),\n onClick: () => {\n void handleReview(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Delete item\n if (!employee.onboarded) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setDeleting(prev => new Set(prev).add(employee.uuid))\n void handleDelete(employee.uuid).then(() => {\n setDeleting(prev => {\n const newSet = new Set(prev)\n newSet.delete(employee.uuid)\n return newSet\n })\n })\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return (\n <HamburgerMenu\n items={menuItems}\n triggerLabel={t('hamburgerTitle')}\n isLoading={deleting.has(employee.uuid)}\n />\n )\n },\n isFetching,\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n },\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button variant=\"secondary\" onClick={handleSkip}>\n {t('skipCta')}\n </Components.Button>\n <Components.Button variant=\"primary\" onClick={handleNew}>\n {t('addEmployeeCTA')}\n </Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n return (\n <>\n {employees.length > 0 && (\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleNew}>\n {t('addAnotherCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n <div className={style.container}>\n <DataView label={t('employeeListLabel')} {...dataViewProps} />\n </div>\n </>\n )\n}\n"],"names":["List","handleDelete","employees","handleEdit","handleReview","handleNew","handleCancelSelfOnboarding","handleFirstPage","handlePreviousPage","handleNextPage","handleLastPage","handleItemsPerPageChange","currentPage","totalPages","handleSkip","isFetching","useEmployeeList","Components","useComponentContext","t","useTranslation","deleting","setDeleting","useState","dataViewProps","useDataView","employee","firstLastName","onboarded","onboardingStatus","jsx","EmployeeOnboardingStatusBadge","menuItems","EmployeeOnboardingStatus","PencilSvg","EmployeeSelfOnboardingStatuses","prev","newSet","TrashCanSvg","HamburgerMenu","EmptyData","jsxs","ActionsLayout","Fragment","style","DataView"],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ type EmployeeListContextType = {
|
|
|
15
15
|
currentPage: number;
|
|
16
16
|
totalPages: number;
|
|
17
17
|
employees: Employee[];
|
|
18
|
+
isFetching: boolean;
|
|
18
19
|
};
|
|
19
20
|
declare const useEmployeeList: () => EmployeeListContextType, EmployeeListProvider: import('react').Provider<EmployeeListContextType | null>;
|
|
20
21
|
export { useEmployeeList, EmployeeListProvider };
|
|
@@ -6,11 +6,12 @@ import "../../Base/useBase.js";
|
|
|
6
6
|
import "../../../shared/constants.js";
|
|
7
7
|
import "classnames";
|
|
8
8
|
import "dompurify";
|
|
9
|
+
import "../../../contexts/LocaleProvider/useLocale.js";
|
|
9
10
|
import "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
11
|
import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
|
|
11
|
-
const [
|
|
12
|
+
const [C, E] = o("EmployeeListContext");
|
|
12
13
|
export {
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
E as EmployeeListProvider,
|
|
15
|
+
C as useEmployeeList
|
|
15
16
|
};
|
|
16
17
|
//# sourceMappingURL=useEmployeeList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEmployeeList.js","sources":["../../../../src/components/Employee/EmployeeList/useEmployeeList.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport { createCompoundContext } from '@/components/Base'\n\n//Interface for context passed down to component slots\ntype EmployeeListContextType = {\n handleEdit: (uuid: string, onboardingStatus?: OnboardingStatus) => void\n handleDelete: (uuid: string) => Promise<void>\n handleCancelSelfOnboarding: (employeeId: string) => Promise<void>\n handleReview: (employeeId: string) => Promise<void>\n handleNew: () => void\n handleSkip: () => void\n handleFirstPage: () => void\n handlePreviousPage: () => void\n handleNextPage: () => void\n handleLastPage: () => void\n handleItemsPerPageChange: (newCount: number) => void\n currentPage: number\n totalPages: number\n employees: Employee[]\n}\n\nconst [useEmployeeList, EmployeeListProvider] =\n createCompoundContext<EmployeeListContextType>('EmployeeListContext')\nexport { useEmployeeList, EmployeeListProvider }\n"],"names":["useEmployeeList","EmployeeListProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useEmployeeList.js","sources":["../../../../src/components/Employee/EmployeeList/useEmployeeList.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport { createCompoundContext } from '@/components/Base'\n\n//Interface for context passed down to component slots\ntype EmployeeListContextType = {\n handleEdit: (uuid: string, onboardingStatus?: OnboardingStatus) => void\n handleDelete: (uuid: string) => Promise<void>\n handleCancelSelfOnboarding: (employeeId: string) => Promise<void>\n handleReview: (employeeId: string) => Promise<void>\n handleNew: () => void\n handleSkip: () => void\n handleFirstPage: () => void\n handlePreviousPage: () => void\n handleNextPage: () => void\n handleLastPage: () => void\n handleItemsPerPageChange: (newCount: number) => void\n currentPage: number\n totalPages: number\n employees: Employee[]\n isFetching: boolean\n}\n\nconst [useEmployeeList, EmployeeListProvider] =\n createCompoundContext<EmployeeListContextType>('EmployeeListContext')\nexport { useEmployeeList, EmployeeListProvider }\n"],"names":["useEmployeeList","EmployeeListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;AAuBA,MAAM,CAACA,GAAiBC,CAAoB,IAC1CC,EAA+C,qBAAqB;"}
|
|
@@ -6,11 +6,12 @@ import "../../Base/useBase.js";
|
|
|
6
6
|
import "../../../shared/constants.js";
|
|
7
7
|
import "classnames";
|
|
8
8
|
import "dompurify";
|
|
9
|
+
import "../../../contexts/LocaleProvider/useLocale.js";
|
|
9
10
|
import "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
11
|
import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
|
|
11
|
-
const [
|
|
12
|
+
const [l, C] = o("FederalTaxesContext");
|
|
12
13
|
export {
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
C as FederalTaxesProvider,
|
|
15
|
+
l as useFederalTaxes
|
|
15
16
|
};
|
|
16
17
|
//# sourceMappingURL=useFederalTaxes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFederalTaxes.js","sources":["../../../../src/components/Employee/FederalTaxes/useFederalTaxes.ts"],"sourcesContent":["import { createCompoundContext } from '@/components/Base'\n\ntype FederalTaxesContextType = {\n isPending: boolean\n}\n\nconst [useFederalTaxes, FederalTaxesProvider] =\n createCompoundContext<FederalTaxesContextType>('FederalTaxesContext')\nexport { useFederalTaxes, FederalTaxesProvider }\n"],"names":["useFederalTaxes","FederalTaxesProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFederalTaxes.js","sources":["../../../../src/components/Employee/FederalTaxes/useFederalTaxes.ts"],"sourcesContent":["import { createCompoundContext } from '@/components/Base'\n\ntype FederalTaxesContextType = {\n isPending: boolean\n}\n\nconst [useFederalTaxes, FederalTaxesProvider] =\n createCompoundContext<FederalTaxesContextType>('FederalTaxesContext')\nexport { useFederalTaxes, FederalTaxesProvider }\n"],"names":["useFederalTaxes","FederalTaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;AAMA,MAAM,CAACA,GAAiBC,CAAoB,IAC1CC,EAA+C,qBAAqB;"}
|
|
@@ -6,15 +6,15 @@ export declare const BankAccountSchema: z.ZodObject<{
|
|
|
6
6
|
accountType: z.ZodEnum<["Checking", "Savings"]>;
|
|
7
7
|
hasBankPayload: z.ZodLiteral<true>;
|
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
|
9
|
-
name: string;
|
|
10
9
|
routingNumber: string;
|
|
11
10
|
accountNumber: string;
|
|
11
|
+
name: string;
|
|
12
12
|
accountType: "Checking" | "Savings";
|
|
13
13
|
hasBankPayload: true;
|
|
14
14
|
}, {
|
|
15
|
-
name: string;
|
|
16
15
|
routingNumber: string;
|
|
17
16
|
accountNumber: string;
|
|
17
|
+
name: string;
|
|
18
18
|
accountType: "Checking" | "Savings";
|
|
19
19
|
hasBankPayload: true;
|
|
20
20
|
}>;
|
|
@@ -11,19 +11,19 @@ export declare const CombinedSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
11
11
|
type: z.ZodLiteral<"Direct Deposit">;
|
|
12
12
|
isSplit: z.ZodLiteral<false>;
|
|
13
13
|
}, "strip", z.ZodTypeAny, {
|
|
14
|
-
name: string;
|
|
15
|
-
type: "Direct Deposit";
|
|
16
14
|
routingNumber: string;
|
|
17
15
|
accountNumber: string;
|
|
16
|
+
name: string;
|
|
18
17
|
accountType: "Checking" | "Savings";
|
|
18
|
+
type: "Direct Deposit";
|
|
19
19
|
hasBankPayload: true;
|
|
20
20
|
isSplit: false;
|
|
21
21
|
}, {
|
|
22
|
-
name: string;
|
|
23
|
-
type: "Direct Deposit";
|
|
24
22
|
routingNumber: string;
|
|
25
23
|
accountNumber: string;
|
|
24
|
+
name: string;
|
|
26
25
|
accountType: "Checking" | "Savings";
|
|
26
|
+
type: "Direct Deposit";
|
|
27
27
|
hasBankPayload: true;
|
|
28
28
|
isSplit: false;
|
|
29
29
|
}>, z.ZodObject<{
|
|
@@ -52,15 +52,15 @@ export declare const CombinedSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
52
52
|
splitAmount: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>;
|
|
53
53
|
priority: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
54
54
|
}, "strip", z.ZodTypeAny, {
|
|
55
|
-
type: "Direct Deposit";
|
|
56
55
|
priority: Record<string, number>;
|
|
56
|
+
type: "Direct Deposit";
|
|
57
57
|
hasBankPayload: false;
|
|
58
58
|
isSplit: true;
|
|
59
59
|
splitBy: "Percentage";
|
|
60
60
|
splitAmount: Record<string, number>;
|
|
61
61
|
}, {
|
|
62
|
-
type: "Direct Deposit";
|
|
63
62
|
priority: Record<string, number>;
|
|
63
|
+
type: "Direct Deposit";
|
|
64
64
|
hasBankPayload: false;
|
|
65
65
|
isSplit: true;
|
|
66
66
|
splitBy: "Percentage";
|
|
@@ -74,16 +74,16 @@ export declare const CombinedSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
74
74
|
splitAmount: z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodNumber>>;
|
|
75
75
|
remainder: z.ZodString;
|
|
76
76
|
}, "strip", z.ZodTypeAny, {
|
|
77
|
-
type: "Direct Deposit";
|
|
78
77
|
priority: Record<string, number>;
|
|
78
|
+
type: "Direct Deposit";
|
|
79
79
|
hasBankPayload: false;
|
|
80
80
|
isSplit: true;
|
|
81
81
|
splitBy: "Amount";
|
|
82
82
|
splitAmount: Record<string, number | null>;
|
|
83
83
|
remainder: string;
|
|
84
84
|
}, {
|
|
85
|
-
type: "Direct Deposit";
|
|
86
85
|
priority: Record<string, number>;
|
|
86
|
+
type: "Direct Deposit";
|
|
87
87
|
hasBankPayload: false;
|
|
88
88
|
isSplit: true;
|
|
89
89
|
splitBy: "Amount";
|
|
@@ -8,9 +8,10 @@ import "../../Base/useBase.js";
|
|
|
8
8
|
import "../../../shared/constants.js";
|
|
9
9
|
import "classnames";
|
|
10
10
|
import "dompurify";
|
|
11
|
+
import "../../../contexts/LocaleProvider/useLocale.js";
|
|
11
12
|
import "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
13
|
import { createCompoundContext as a } from "../../Base/createCompoundContext.js";
|
|
13
|
-
const
|
|
14
|
+
const P = t.union([
|
|
14
15
|
o.extend({
|
|
15
16
|
type: t.literal("Direct Deposit"),
|
|
16
17
|
isSplit: t.literal(!1)
|
|
@@ -50,10 +51,10 @@ const D = t.union([
|
|
|
50
51
|
remainder: t.string()
|
|
51
52
|
})
|
|
52
53
|
])
|
|
53
|
-
]), [
|
|
54
|
+
]), [j, B] = a("PaymentMethodContext");
|
|
54
55
|
export {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
P as CombinedSchema,
|
|
57
|
+
B as PaymentMethodProvider,
|
|
58
|
+
j as usePaymentMethod
|
|
58
59
|
};
|
|
59
60
|
//# sourceMappingURL=usePaymentMethod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaymentMethod.js","sources":["../../../../src/components/Employee/PaymentMethod/usePaymentMethod.ts"],"sourcesContent":["import type { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport { z } from 'zod'\nimport { BankAccountSchema } from './BankAccount'\nimport { createCompoundContext } from '@/components/Base'\n\nexport const CombinedSchema = z.union([\n BankAccountSchema.extend({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(false),\n }),\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(false),\n hasBankPayload: z.literal(false),\n }),\n z.object({\n type: z.literal('Check'),\n }),\n z.discriminatedUnion('splitBy', [\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(true),\n hasBankPayload: z.literal(false),\n splitBy: z.literal('Percentage'),\n splitAmount: z.record(z.string(), z.number().max(100).min(0)).refine(\n input => Object.values(input).reduce((acc, curr) => acc + curr, 0) === 100,\n input => {\n const total = Object.values(input).reduce((acc, curr) => acc + curr, 0)\n return {\n message: `percentage_split_total_error:${total}`,\n }\n },\n ),\n priority: z.record(z.string(), z.number()),\n }),\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(true),\n hasBankPayload: z.literal(false),\n splitBy: z.literal('Amount'),\n priority: z.record(z.string(), z.number()).refine(input => {\n const arr = Object.values(input)\n return arr.filter((item, index) => arr.indexOf(item) !== index).length === 0\n }),\n splitAmount: z.record(z.string(), z.number().min(0).nullable()),\n remainder: z.string(),\n }),\n ]),\n])\n\nexport type CombinedSchemaInputs = z.input<typeof CombinedSchema>\nexport type CombinedSchemaOutputs = z.output<typeof CombinedSchema>\n\ntype PaymentMethodContextType = {\n bankAccounts: EmployeeBankAccount[]\n isPending: boolean\n watchedType?: string\n mode: MODE\n paymentMethod: EmployeePaymentMethod\n handleAdd: () => void\n handleSplit: () => void\n handleCancel: () => void\n handleDelete: (uuid: string) => void\n}\n\nexport type MODE = 'ADD' | 'LIST' | 'SPLIT' | 'INITIAL'\n\nconst [usePaymentMethod, PaymentMethodProvider] =\n createCompoundContext<PaymentMethodContextType>('PaymentMethodContext')\nexport { usePaymentMethod, PaymentMethodProvider }\n"],"names":["CombinedSchema","z","BankAccountSchema","input","acc","curr","arr","item","index","usePaymentMethod","PaymentMethodProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePaymentMethod.js","sources":["../../../../src/components/Employee/PaymentMethod/usePaymentMethod.ts"],"sourcesContent":["import type { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport { z } from 'zod'\nimport { BankAccountSchema } from './BankAccount'\nimport { createCompoundContext } from '@/components/Base'\n\nexport const CombinedSchema = z.union([\n BankAccountSchema.extend({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(false),\n }),\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(false),\n hasBankPayload: z.literal(false),\n }),\n z.object({\n type: z.literal('Check'),\n }),\n z.discriminatedUnion('splitBy', [\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(true),\n hasBankPayload: z.literal(false),\n splitBy: z.literal('Percentage'),\n splitAmount: z.record(z.string(), z.number().max(100).min(0)).refine(\n input => Object.values(input).reduce((acc, curr) => acc + curr, 0) === 100,\n input => {\n const total = Object.values(input).reduce((acc, curr) => acc + curr, 0)\n return {\n message: `percentage_split_total_error:${total}`,\n }\n },\n ),\n priority: z.record(z.string(), z.number()),\n }),\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(true),\n hasBankPayload: z.literal(false),\n splitBy: z.literal('Amount'),\n priority: z.record(z.string(), z.number()).refine(input => {\n const arr = Object.values(input)\n return arr.filter((item, index) => arr.indexOf(item) !== index).length === 0\n }),\n splitAmount: z.record(z.string(), z.number().min(0).nullable()),\n remainder: z.string(),\n }),\n ]),\n])\n\nexport type CombinedSchemaInputs = z.input<typeof CombinedSchema>\nexport type CombinedSchemaOutputs = z.output<typeof CombinedSchema>\n\ntype PaymentMethodContextType = {\n bankAccounts: EmployeeBankAccount[]\n isPending: boolean\n watchedType?: string\n mode: MODE\n paymentMethod: EmployeePaymentMethod\n handleAdd: () => void\n handleSplit: () => void\n handleCancel: () => void\n handleDelete: (uuid: string) => void\n}\n\nexport type MODE = 'ADD' | 'LIST' | 'SPLIT' | 'INITIAL'\n\nconst [usePaymentMethod, PaymentMethodProvider] =\n createCompoundContext<PaymentMethodContextType>('PaymentMethodContext')\nexport { usePaymentMethod, PaymentMethodProvider }\n"],"names":["CombinedSchema","z","BankAccountSchema","input","acc","curr","arr","item","index","usePaymentMethod","PaymentMethodProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;AAMO,MAAMA,IAAiBC,EAAE,MAAM;AAAA,EACpCC,EAAkB,OAAO;AAAA,IACvB,MAAMD,EAAE,QAAQ,gBAAgB;AAAA,IAChC,SAASA,EAAE,QAAQ,EAAK;AAAA,EAAA,CACzB;AAAA,EACDA,EAAE,OAAO;AAAA,IACP,MAAMA,EAAE,QAAQ,gBAAgB;AAAA,IAChC,SAASA,EAAE,QAAQ,EAAK;AAAA,IACxB,gBAAgBA,EAAE,QAAQ,EAAK;AAAA,EAAA,CAChC;AAAA,EACDA,EAAE,OAAO;AAAA,IACP,MAAMA,EAAE,QAAQ,OAAO;AAAA,EAAA,CACxB;AAAA,EACDA,EAAE,mBAAmB,WAAW;AAAA,IAC9BA,EAAE,OAAO;AAAA,MACP,MAAMA,EAAE,QAAQ,gBAAgB;AAAA,MAChC,SAASA,EAAE,QAAQ,EAAI;AAAA,MACvB,gBAAgBA,EAAE,QAAQ,EAAK;AAAA,MAC/B,SAASA,EAAE,QAAQ,YAAY;AAAA,MAC/B,aAAaA,EAAE,OAAOA,EAAE,UAAUA,EAAE,OAAA,EAAS,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE;AAAA,QAC5D,CAAAE,MAAS,OAAO,OAAOA,CAAK,EAAE,OAAO,CAACC,GAAKC,MAASD,IAAMC,GAAM,CAAC,MAAM;AAAA,QACvE,CAAAF,OAES;AAAA,UACL,SAAS,gCAFG,OAAO,OAAOA,CAAK,EAAE,OAAO,CAACC,GAAKC,MAASD,IAAMC,GAAM,CAAC,CAEtB;AAAA,QAAA;AAAA,MAElD;AAAA,MAEF,UAAUJ,EAAE,OAAOA,EAAE,UAAUA,EAAE,QAAQ;AAAA,IAAA,CAC1C;AAAA,IACDA,EAAE,OAAO;AAAA,MACP,MAAMA,EAAE,QAAQ,gBAAgB;AAAA,MAChC,SAASA,EAAE,QAAQ,EAAI;AAAA,MACvB,gBAAgBA,EAAE,QAAQ,EAAK;AAAA,MAC/B,SAASA,EAAE,QAAQ,QAAQ;AAAA,MAC3B,UAAUA,EAAE,OAAOA,EAAE,OAAA,GAAUA,EAAE,OAAA,CAAQ,EAAE,OAAO,CAAAE,MAAS;AACzD,cAAMG,IAAM,OAAO,OAAOH,CAAK;AAC/B,eAAOG,EAAI,OAAO,CAACC,GAAMC,MAAUF,EAAI,QAAQC,CAAI,MAAMC,CAAK,EAAE,WAAW;AAAA,MAC7E,CAAC;AAAA,MACD,aAAaP,EAAE,OAAOA,EAAE,OAAA,GAAUA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,UAAU;AAAA,MAC9D,WAAWA,EAAE,OAAA;AAAA,IAAO,CACrB;AAAA,EAAA,CACF;AACH,CAAC,GAmBK,CAACQ,GAAkBC,CAAqB,IAC5CC,EAAgD,sBAAsB;"}
|