@gusto/embedded-react-sdk 0.45.0 → 0.46.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 +14 -0
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +20 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +20 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +22 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +20 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +20 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +28 -12
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +23 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +20 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +20 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +20 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +20 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +20 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +22 -6
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.js +52 -42
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.d.ts +11 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js +230 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.module.scss.js +8 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.module.scss.js.map +1 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/index.d.ts +3 -0
- package/dist/components/Employee/Compensation/management/index.d.ts +3 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +6 -6
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +114 -111
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +8 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js +22 -17
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +12 -2
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +115 -110
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/BasicDetailsView.d.ts +8 -3
- package/dist/components/Employee/Dashboard/BasicDetailsView.js +108 -84
- package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.d.ts +2 -0
- package/dist/components/Employee/Dashboard/Dashboard.js +64 -58
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +5 -1
- package/dist/components/Employee/Dashboard/DashboardComponents.js +82 -65
- package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
- package/dist/components/Employee/Dashboard/DocumentsView.js +18 -11
- package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.js +358 -338
- package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js +8 -0
- package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js.map +1 -0
- package/dist/components/Employee/Dashboard/TaxesView.d.ts +7 -2
- package/dist/components/Employee/Dashboard/TaxesView.js +68 -54
- package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +16 -5
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.d.ts +12 -5
- package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js +21 -21
- package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.d.ts +13 -3
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js +55 -56
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.d.ts +10 -4
- package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.js +10 -12
- package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.d.ts +10 -3
- package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.js +19 -14
- package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +20 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Employee/Taxes/useTaxes.js +20 -4
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +34 -26
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +36 -22
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +52 -40
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
- package/dist/i18n/en/Employee.Compensation.json.js +48 -44
- package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.Dashboard.json.js +1 -1
- package/dist/i18n/en/Employee.DocumentManager.json.js +1 -1
- package/dist/i18n/en/common.json.d.ts +7 -0
- package/dist/shared/constants.d.ts +2 -0
- package/dist/shared/constants.js +19 -18
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +22 -2
- package/package.json +1 -1
|
@@ -1,131 +1,155 @@
|
|
|
1
1
|
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import { Flex as
|
|
4
|
-
import { useComponentContext as
|
|
5
|
-
import { formatDateLongWithYear as
|
|
6
|
-
import { firstLastName as
|
|
2
|
+
import { useTranslation as b } from "react-i18next";
|
|
3
|
+
import { Flex as a } from "../../Common/Flex/Flex.js";
|
|
4
|
+
import { useComponentContext as v } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
5
|
+
import { formatDateLongWithYear as f } from "../../../helpers/dateFormatting.js";
|
|
6
|
+
import { firstLastName as A, getStreet as C, getCityStateZip as X } from "../../../helpers/formattedStrings.js";
|
|
7
7
|
import "classnames";
|
|
8
8
|
import "../../../shared/constants.js";
|
|
9
|
-
import { Loading as
|
|
10
|
-
import { BaseLayout as
|
|
11
|
-
import { useEmployeeBasicDetails as
|
|
12
|
-
function
|
|
13
|
-
employeeId:
|
|
14
|
-
onEditBasicDetails:
|
|
15
|
-
onManageHomeAddress:
|
|
16
|
-
onManageWorkAddress:
|
|
9
|
+
import { Loading as d } from "../../Common/Loading/Loading.js";
|
|
10
|
+
import { BaseLayout as w } from "../../Base/Base.js";
|
|
11
|
+
import { useEmployeeBasicDetails as N } from "./hooks/useEmployeeBasicDetails.js";
|
|
12
|
+
function Y({
|
|
13
|
+
employeeId: r,
|
|
14
|
+
onEditBasicDetails: l,
|
|
15
|
+
onManageHomeAddress: s,
|
|
16
|
+
onManageWorkAddress: c
|
|
17
17
|
}) {
|
|
18
|
-
const
|
|
19
|
-
return
|
|
20
|
-
|
|
18
|
+
const o = N({ employeeId: r });
|
|
19
|
+
return /* @__PURE__ */ e(w, { error: o.errorHandling.errors, children: /* @__PURE__ */ e(
|
|
20
|
+
k,
|
|
21
21
|
{
|
|
22
|
-
employee:
|
|
23
|
-
currentHomeAddress:
|
|
24
|
-
currentWorkAddress:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
employee: o.data.employee,
|
|
23
|
+
currentHomeAddress: o.data.currentHomeAddress,
|
|
24
|
+
currentWorkAddress: o.data.currentWorkAddress,
|
|
25
|
+
isEmployeeLoading: o.status.isEmployeeLoading,
|
|
26
|
+
isHomeAddressLoading: o.status.isHomeAddressLoading,
|
|
27
|
+
isWorkAddressLoading: o.status.isWorkAddressLoading,
|
|
28
|
+
onEditBasicDetails: l,
|
|
29
|
+
onManageHomeAddress: s,
|
|
30
|
+
onManageWorkAddress: c
|
|
28
31
|
}
|
|
29
32
|
) });
|
|
30
33
|
}
|
|
31
|
-
function
|
|
32
|
-
employee:
|
|
33
|
-
currentHomeAddress:
|
|
34
|
-
currentWorkAddress:
|
|
35
|
-
isLoading:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
function k({
|
|
35
|
+
employee: r,
|
|
36
|
+
currentHomeAddress: l,
|
|
37
|
+
currentWorkAddress: s,
|
|
38
|
+
isLoading: c = !1,
|
|
39
|
+
isEmployeeLoading: o = c,
|
|
40
|
+
isHomeAddressLoading: h = c,
|
|
41
|
+
isWorkAddressLoading: m = c,
|
|
42
|
+
onEditBasicDetails: g,
|
|
43
|
+
onManageHomeAddress: T,
|
|
44
|
+
onManageWorkAddress: B
|
|
39
45
|
}) {
|
|
40
|
-
const { t
|
|
41
|
-
|
|
42
|
-
return /* @__PURE__ */ e(C, {});
|
|
43
|
-
const d = B({
|
|
44
|
-
first_name: a.firstName,
|
|
45
|
-
last_name: a.lastName
|
|
46
|
-
}), h = x(a.jobs?.[0]?.hireDate), m = x(a.dateOfBirth), p = a.hasSsn ? "XXX-XX-XXXX" : void 0;
|
|
47
|
-
return /* @__PURE__ */ n(r, { flexDirection: "column", gap: 24, children: [
|
|
46
|
+
const { t } = b("Employee.Dashboard"), i = v(), x = r ? A({ first_name: r.firstName, last_name: r.lastName }) : void 0, p = r ? f(r.jobs?.[0]?.hireDate) : void 0, u = r ? f(r.dateOfBirth) : void 0, D = r?.hasSsn ? "XXX-XX-XXXX" : void 0;
|
|
47
|
+
return /* @__PURE__ */ n(a, { flexDirection: "column", gap: 24, children: [
|
|
48
48
|
/* @__PURE__ */ e(
|
|
49
|
-
|
|
49
|
+
i.Box,
|
|
50
50
|
{
|
|
51
51
|
header: /* @__PURE__ */ e(
|
|
52
|
-
|
|
52
|
+
i.BoxHeader,
|
|
53
53
|
{
|
|
54
|
-
title:
|
|
55
|
-
action: /* @__PURE__ */ e(
|
|
54
|
+
title: t("basicDetails.title"),
|
|
55
|
+
action: /* @__PURE__ */ e(
|
|
56
|
+
i.Button,
|
|
57
|
+
{
|
|
58
|
+
variant: "secondary",
|
|
59
|
+
onClick: g,
|
|
60
|
+
isDisabled: o,
|
|
61
|
+
children: t("basicDetails.editCta")
|
|
62
|
+
}
|
|
63
|
+
)
|
|
56
64
|
}
|
|
57
65
|
),
|
|
58
|
-
children: /* @__PURE__ */ e(
|
|
59
|
-
|
|
60
|
-
/* @__PURE__ */ e(
|
|
61
|
-
/* @__PURE__ */ e(
|
|
66
|
+
children: /* @__PURE__ */ e(a, { flexDirection: "column", gap: 16, children: o ? /* @__PURE__ */ e(d, {}) : r ? /* @__PURE__ */ n(a, { flexDirection: "column", gap: 12, children: [
|
|
67
|
+
x && /* @__PURE__ */ n(a, { flexDirection: "column", gap: 0, children: [
|
|
68
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("basicDetails.legalName") }),
|
|
69
|
+
/* @__PURE__ */ e(i.Text, { children: x })
|
|
62
70
|
] }),
|
|
63
|
-
|
|
64
|
-
/* @__PURE__ */ e(
|
|
65
|
-
/* @__PURE__ */ e(
|
|
71
|
+
p && /* @__PURE__ */ n(a, { flexDirection: "column", gap: 0, children: [
|
|
72
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("basicDetails.startDate") }),
|
|
73
|
+
/* @__PURE__ */ e(i.Text, { children: p })
|
|
66
74
|
] }),
|
|
67
|
-
|
|
68
|
-
/* @__PURE__ */ e(
|
|
69
|
-
/* @__PURE__ */ e(
|
|
75
|
+
D && /* @__PURE__ */ n(a, { flexDirection: "column", gap: 0, children: [
|
|
76
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("basicDetails.socialSecurityNumber") }),
|
|
77
|
+
/* @__PURE__ */ e(i.Text, { children: D })
|
|
70
78
|
] }),
|
|
71
|
-
|
|
72
|
-
/* @__PURE__ */ e(
|
|
73
|
-
/* @__PURE__ */ e(
|
|
79
|
+
u && /* @__PURE__ */ n(a, { flexDirection: "column", gap: 0, children: [
|
|
80
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("basicDetails.dateOfBirth") }),
|
|
81
|
+
/* @__PURE__ */ e(i.Text, { children: u })
|
|
74
82
|
] }),
|
|
75
|
-
|
|
76
|
-
/* @__PURE__ */ e(
|
|
77
|
-
/* @__PURE__ */ e(
|
|
83
|
+
r.email && /* @__PURE__ */ n(a, { flexDirection: "column", gap: 0, children: [
|
|
84
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("basicDetails.personalEmail") }),
|
|
85
|
+
/* @__PURE__ */ e(i.Text, { children: r.email })
|
|
78
86
|
] })
|
|
79
|
-
] }) })
|
|
87
|
+
] }) : null })
|
|
80
88
|
}
|
|
81
89
|
),
|
|
82
90
|
/* @__PURE__ */ e(
|
|
83
|
-
|
|
91
|
+
i.Box,
|
|
84
92
|
{
|
|
85
93
|
header: /* @__PURE__ */ e(
|
|
86
|
-
|
|
94
|
+
i.BoxHeader,
|
|
87
95
|
{
|
|
88
|
-
title:
|
|
89
|
-
action: /* @__PURE__ */ e(
|
|
96
|
+
title: t("homeAddress.title"),
|
|
97
|
+
action: /* @__PURE__ */ e(
|
|
98
|
+
i.Button,
|
|
99
|
+
{
|
|
100
|
+
variant: "secondary",
|
|
101
|
+
onClick: T,
|
|
102
|
+
isDisabled: h,
|
|
103
|
+
children: t("homeAddress.manageCta")
|
|
104
|
+
}
|
|
105
|
+
)
|
|
90
106
|
}
|
|
91
107
|
),
|
|
92
|
-
children: /* @__PURE__ */ e(
|
|
93
|
-
/* @__PURE__ */ e(
|
|
94
|
-
/* @__PURE__ */ e(
|
|
95
|
-
/* @__PURE__ */ e(
|
|
96
|
-
] }) : /* @__PURE__ */ e(
|
|
108
|
+
children: /* @__PURE__ */ e(a, { flexDirection: "column", gap: 16, children: h ? /* @__PURE__ */ e(d, {}) : l ? /* @__PURE__ */ n(a, { flexDirection: "column", gap: 0, children: [
|
|
109
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("homeAddress.currentAddress") }),
|
|
110
|
+
/* @__PURE__ */ e(i.Text, { children: C(l).replace(",", "") }),
|
|
111
|
+
/* @__PURE__ */ e(i.Text, { children: X(l) })
|
|
112
|
+
] }) : /* @__PURE__ */ e(i.Text, { children: t("homeAddress.noAddress") }) })
|
|
97
113
|
}
|
|
98
114
|
),
|
|
99
115
|
/* @__PURE__ */ e(
|
|
100
|
-
|
|
116
|
+
i.Box,
|
|
101
117
|
{
|
|
102
118
|
header: /* @__PURE__ */ e(
|
|
103
|
-
|
|
119
|
+
i.BoxHeader,
|
|
104
120
|
{
|
|
105
|
-
title:
|
|
106
|
-
action: /* @__PURE__ */ e(
|
|
121
|
+
title: t("workAddress.title"),
|
|
122
|
+
action: /* @__PURE__ */ e(
|
|
123
|
+
i.Button,
|
|
124
|
+
{
|
|
125
|
+
variant: "secondary",
|
|
126
|
+
onClick: B,
|
|
127
|
+
isDisabled: m,
|
|
128
|
+
children: t("workAddress.manageCta")
|
|
129
|
+
}
|
|
130
|
+
)
|
|
107
131
|
}
|
|
108
132
|
),
|
|
109
|
-
children: /* @__PURE__ */ e(
|
|
110
|
-
/* @__PURE__ */ e(
|
|
111
|
-
/* @__PURE__ */ n(
|
|
112
|
-
|
|
113
|
-
|
|
133
|
+
children: /* @__PURE__ */ e(a, { flexDirection: "column", gap: 16, children: m ? /* @__PURE__ */ e(d, {}) : s ? /* @__PURE__ */ n(a, { flexDirection: "column", gap: 0, children: [
|
|
134
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("workAddress.currentAddress") }),
|
|
135
|
+
/* @__PURE__ */ n(i.Text, { children: [
|
|
136
|
+
s.street1,
|
|
137
|
+
s.street2 ? `, ${s.street2}` : ""
|
|
114
138
|
] }),
|
|
115
|
-
/* @__PURE__ */ n(
|
|
116
|
-
|
|
139
|
+
/* @__PURE__ */ n(i.Text, { children: [
|
|
140
|
+
s.city,
|
|
117
141
|
", ",
|
|
118
|
-
|
|
142
|
+
s.state,
|
|
119
143
|
" ",
|
|
120
|
-
|
|
144
|
+
s.zip
|
|
121
145
|
] })
|
|
122
|
-
] }) : /* @__PURE__ */ e(
|
|
146
|
+
] }) : /* @__PURE__ */ e(i.Text, { children: t("workAddress.noAddress") }) })
|
|
123
147
|
}
|
|
124
148
|
)
|
|
125
149
|
] });
|
|
126
150
|
}
|
|
127
151
|
export {
|
|
128
|
-
|
|
129
|
-
|
|
152
|
+
k as BasicDetailsView,
|
|
153
|
+
Y as BasicDetailsViewWithData
|
|
130
154
|
};
|
|
131
155
|
//# sourceMappingURL=BasicDetailsView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicDetailsView.js","sources":["../../../../src/components/Employee/Dashboard/BasicDetailsView.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useEmployeeBasicDetails } from './hooks'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport { firstLastName, getStreet, getCityStateZip } from '@/helpers/formattedStrings'\nimport { Loading } from '@/components/Common'\nimport { BaseLayout } from '@/components/Base/Base'\n\nexport interface BasicDetailsViewProps {\n employee?: Employee\n currentHomeAddress?: EmployeeAddress\n currentWorkAddress?: EmployeeWorkAddress\n isLoading?: boolean\n onEditBasicDetails?: () => void\n onManageHomeAddress?: () => void\n onManageWorkAddress?: () => void\n}\n\nexport interface BasicDetailsViewWithDataProps {\n employeeId: string\n onEditBasicDetails?: () => void\n onManageHomeAddress?: () => void\n onManageWorkAddress?: () => void\n}\n\n/**\n * Tab-mounted container for the Basic details tab. Owns the\n * `useEmployeeBasicDetails` fetch (employee + home address + work address)\n * so the requests only fire when the tab is mounted. The presentational\n * `BasicDetailsView` stays pure for testing/stories.\n */\nexport function BasicDetailsViewWithData({\n employeeId,\n onEditBasicDetails,\n onManageHomeAddress,\n onManageWorkAddress,\n}: BasicDetailsViewWithDataProps) {\n const basicDetails = useEmployeeBasicDetails({ employeeId })\n\n if (basicDetails.isLoading) {\n return <BaseLayout isLoading error={basicDetails.errorHandling.errors} />\n }\n\n return (\n <BaseLayout error={basicDetails.errorHandling.errors}>\n <BasicDetailsView\n employee={basicDetails.data.employee}\n currentHomeAddress={basicDetails.data.currentHomeAddress}\n currentWorkAddress={basicDetails.data.currentWorkAddress}\n onEditBasicDetails={onEditBasicDetails}\n onManageHomeAddress={onManageHomeAddress}\n onManageWorkAddress={onManageWorkAddress}\n />\n </BaseLayout>\n )\n}\n\nexport function BasicDetailsView({\n employee,\n currentHomeAddress,\n currentWorkAddress,\n isLoading = false,\n onEditBasicDetails,\n onManageHomeAddress,\n onManageWorkAddress,\n}: BasicDetailsViewProps) {\n const { t } = useTranslation('Employee.Dashboard')\n const Components = useComponentContext()\n\n if (isLoading || !employee) {\n return <Loading />\n }\n\n const legalName = firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n const startDate = formatDateLongWithYear(employee.jobs?.[0]?.hireDate)\n const dateOfBirth = formatDateLongWithYear(employee.dateOfBirth)\n const maskedSsn = employee.hasSsn ? 'XXX-XX-XXXX' : undefined\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('basicDetails.title')}\n action={\n <Components.Button variant=\"secondary\" onClick={onEditBasicDetails}>\n {t('basicDetails.editCta')}\n </Components.Button>\n }\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Flex flexDirection=\"column\" gap={12}>\n {legalName && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.legalName')}\n </Components.Text>\n <Components.Text>{legalName}</Components.Text>\n </Flex>\n )}\n\n {startDate && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.startDate')}\n </Components.Text>\n <Components.Text>{startDate}</Components.Text>\n </Flex>\n )}\n\n {maskedSsn && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.socialSecurityNumber')}\n </Components.Text>\n <Components.Text>{maskedSsn}</Components.Text>\n </Flex>\n )}\n\n {dateOfBirth && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.dateOfBirth')}\n </Components.Text>\n <Components.Text>{dateOfBirth}</Components.Text>\n </Flex>\n )}\n\n {employee.email && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.personalEmail')}\n </Components.Text>\n <Components.Text>{employee.email}</Components.Text>\n </Flex>\n )}\n </Flex>\n </Flex>\n </Components.Box>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('homeAddress.title')}\n action={\n <Components.Button variant=\"secondary\" onClick={onManageHomeAddress}>\n {t('homeAddress.manageCta')}\n </Components.Button>\n }\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {currentHomeAddress ? (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('homeAddress.currentAddress')}\n </Components.Text>\n <Components.Text>{getStreet(currentHomeAddress).replace(',', '')}</Components.Text>\n <Components.Text>{getCityStateZip(currentHomeAddress)}</Components.Text>\n </Flex>\n ) : (\n <Components.Text>{t('homeAddress.noAddress')}</Components.Text>\n )}\n </Flex>\n </Components.Box>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('workAddress.title')}\n action={\n <Components.Button variant=\"secondary\" onClick={onManageWorkAddress}>\n {t('workAddress.manageCta')}\n </Components.Button>\n }\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {currentWorkAddress ? (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('workAddress.currentAddress')}\n </Components.Text>\n <Components.Text>\n {currentWorkAddress.street1}\n {currentWorkAddress.street2 ? `, ${currentWorkAddress.street2}` : ''}\n </Components.Text>\n <Components.Text>\n {currentWorkAddress.city}, {currentWorkAddress.state} {currentWorkAddress.zip}\n </Components.Text>\n </Flex>\n ) : (\n <Components.Text>{t('workAddress.noAddress')}</Components.Text>\n )}\n </Flex>\n </Components.Box>\n </Flex>\n )\n}\n"],"names":["BasicDetailsViewWithData","employeeId","onEditBasicDetails","onManageHomeAddress","onManageWorkAddress","basicDetails","useEmployeeBasicDetails","BaseLayout","jsx","BasicDetailsView","employee","currentHomeAddress","currentWorkAddress","isLoading","t","useTranslation","Components","useComponentContext","Loading","legalName","firstLastName","startDate","formatDateLongWithYear","dateOfBirth","maskedSsn","jsxs","Flex","getStreet","getCityStateZip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BasicDetailsView.js","sources":["../../../../src/components/Employee/Dashboard/BasicDetailsView.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useEmployeeBasicDetails } from './hooks'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport { firstLastName, getStreet, getCityStateZip } from '@/helpers/formattedStrings'\nimport { Loading } from '@/components/Common'\nimport { BaseLayout } from '@/components/Base/Base'\n\nexport interface BasicDetailsViewProps {\n employee?: Employee\n currentHomeAddress?: EmployeeAddress\n currentWorkAddress?: EmployeeWorkAddress\n /** Loads all three cards. Per-section flags below take precedence\n * when each query resolves independently. */\n isLoading?: boolean\n isEmployeeLoading?: boolean\n isHomeAddressLoading?: boolean\n isWorkAddressLoading?: boolean\n onEditBasicDetails?: () => void\n onManageHomeAddress?: () => void\n onManageWorkAddress?: () => void\n}\n\nexport interface BasicDetailsViewWithDataProps {\n employeeId: string\n onEditBasicDetails?: () => void\n onManageHomeAddress?: () => void\n onManageWorkAddress?: () => void\n}\n\n/**\n * Tab-mounted container for the Basic details tab. Owns the\n * `useEmployeeBasicDetails` fetch (employee + home address + work address)\n * so the requests only fire when the tab is mounted. Each card paints\n * its own skeleton + content as the underlying query resolves.\n */\nexport function BasicDetailsViewWithData({\n employeeId,\n onEditBasicDetails,\n onManageHomeAddress,\n onManageWorkAddress,\n}: BasicDetailsViewWithDataProps) {\n const basicDetails = useEmployeeBasicDetails({ employeeId })\n\n return (\n <BaseLayout error={basicDetails.errorHandling.errors}>\n <BasicDetailsView\n employee={basicDetails.data.employee}\n currentHomeAddress={basicDetails.data.currentHomeAddress}\n currentWorkAddress={basicDetails.data.currentWorkAddress}\n isEmployeeLoading={basicDetails.status.isEmployeeLoading}\n isHomeAddressLoading={basicDetails.status.isHomeAddressLoading}\n isWorkAddressLoading={basicDetails.status.isWorkAddressLoading}\n onEditBasicDetails={onEditBasicDetails}\n onManageHomeAddress={onManageHomeAddress}\n onManageWorkAddress={onManageWorkAddress}\n />\n </BaseLayout>\n )\n}\n\nexport function BasicDetailsView({\n employee,\n currentHomeAddress,\n currentWorkAddress,\n isLoading = false,\n isEmployeeLoading = isLoading,\n isHomeAddressLoading = isLoading,\n isWorkAddressLoading = isLoading,\n onEditBasicDetails,\n onManageHomeAddress,\n onManageWorkAddress,\n}: BasicDetailsViewProps) {\n const { t } = useTranslation('Employee.Dashboard')\n const Components = useComponentContext()\n\n const legalName = employee\n ? firstLastName({ first_name: employee.firstName, last_name: employee.lastName })\n : undefined\n const startDate = employee ? formatDateLongWithYear(employee.jobs?.[0]?.hireDate) : undefined\n const dateOfBirth = employee ? formatDateLongWithYear(employee.dateOfBirth) : undefined\n const maskedSsn = employee?.hasSsn ? 'XXX-XX-XXXX' : undefined\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('basicDetails.title')}\n action={\n <Components.Button\n variant=\"secondary\"\n onClick={onEditBasicDetails}\n isDisabled={isEmployeeLoading}\n >\n {t('basicDetails.editCta')}\n </Components.Button>\n }\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {isEmployeeLoading ? (\n <Loading />\n ) : employee ? (\n <Flex flexDirection=\"column\" gap={12}>\n {legalName && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.legalName')}\n </Components.Text>\n <Components.Text>{legalName}</Components.Text>\n </Flex>\n )}\n\n {startDate && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.startDate')}\n </Components.Text>\n <Components.Text>{startDate}</Components.Text>\n </Flex>\n )}\n\n {maskedSsn && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.socialSecurityNumber')}\n </Components.Text>\n <Components.Text>{maskedSsn}</Components.Text>\n </Flex>\n )}\n\n {dateOfBirth && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.dateOfBirth')}\n </Components.Text>\n <Components.Text>{dateOfBirth}</Components.Text>\n </Flex>\n )}\n\n {employee.email && (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('basicDetails.personalEmail')}\n </Components.Text>\n <Components.Text>{employee.email}</Components.Text>\n </Flex>\n )}\n </Flex>\n ) : null}\n </Flex>\n </Components.Box>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('homeAddress.title')}\n action={\n <Components.Button\n variant=\"secondary\"\n onClick={onManageHomeAddress}\n isDisabled={isHomeAddressLoading}\n >\n {t('homeAddress.manageCta')}\n </Components.Button>\n }\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {isHomeAddressLoading ? (\n <Loading />\n ) : currentHomeAddress ? (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('homeAddress.currentAddress')}\n </Components.Text>\n <Components.Text>{getStreet(currentHomeAddress).replace(',', '')}</Components.Text>\n <Components.Text>{getCityStateZip(currentHomeAddress)}</Components.Text>\n </Flex>\n ) : (\n <Components.Text>{t('homeAddress.noAddress')}</Components.Text>\n )}\n </Flex>\n </Components.Box>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('workAddress.title')}\n action={\n <Components.Button\n variant=\"secondary\"\n onClick={onManageWorkAddress}\n isDisabled={isWorkAddressLoading}\n >\n {t('workAddress.manageCta')}\n </Components.Button>\n }\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {isWorkAddressLoading ? (\n <Loading />\n ) : currentWorkAddress ? (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text variant=\"supporting\">\n {t('workAddress.currentAddress')}\n </Components.Text>\n <Components.Text>\n {currentWorkAddress.street1}\n {currentWorkAddress.street2 ? `, ${currentWorkAddress.street2}` : ''}\n </Components.Text>\n <Components.Text>\n {currentWorkAddress.city}, {currentWorkAddress.state} {currentWorkAddress.zip}\n </Components.Text>\n </Flex>\n ) : (\n <Components.Text>{t('workAddress.noAddress')}</Components.Text>\n )}\n </Flex>\n </Components.Box>\n </Flex>\n )\n}\n"],"names":["BasicDetailsViewWithData","employeeId","onEditBasicDetails","onManageHomeAddress","onManageWorkAddress","basicDetails","useEmployeeBasicDetails","jsx","BaseLayout","BasicDetailsView","employee","currentHomeAddress","currentWorkAddress","isLoading","isEmployeeLoading","isHomeAddressLoading","isWorkAddressLoading","useTranslation","Components","useComponentContext","legalName","firstLastName","startDate","formatDateLongWithYear","dateOfBirth","maskedSsn","jsxs","Flex","Loading","getStreet","getCityStateZip"],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { BaseComponentInterface } from '../../Base/Base';
|
|
2
|
+
export type DashboardTab = 'basicDetails' | 'jobAndPay' | 'taxes' | 'documents';
|
|
2
3
|
export interface DashboardProps extends BaseComponentInterface<'Employee.Dashboard'> {
|
|
3
4
|
employeeId: string;
|
|
5
|
+
selectedTab?: DashboardTab;
|
|
4
6
|
}
|
|
5
7
|
export declare function Dashboard({ FallbackComponent, ...props }: DashboardProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,52 +1,57 @@
|
|
|
1
|
-
import { jsx as s, jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { useTranslation as
|
|
4
|
-
import { BasicDetailsViewWithData as
|
|
5
|
-
import { JobAndPayView as
|
|
6
|
-
import { TaxesViewWithData as
|
|
7
|
-
import { DocumentsViewWithData as
|
|
1
|
+
import { jsx as s, jsxs as b } from "react/jsx-runtime";
|
|
2
|
+
import { useState as B, useCallback as o, Suspense as d } from "react";
|
|
3
|
+
import { useTranslation as R } from "react-i18next";
|
|
4
|
+
import { BasicDetailsViewWithData as N } from "./BasicDetailsView.js";
|
|
5
|
+
import { JobAndPayView as k } from "./JobAndPayView.js";
|
|
6
|
+
import { TaxesViewWithData as F } from "./TaxesView.js";
|
|
7
|
+
import { DocumentsViewWithData as J } from "./DocumentsView.js";
|
|
8
8
|
import { Flex as e } from "../../Common/Flex/Flex.js";
|
|
9
|
-
import { useComponentContext as
|
|
10
|
-
import { BaseBoundaries as
|
|
11
|
-
import { useI18n as
|
|
12
|
-
import { componentEvents as
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
import { useComponentContext as V } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
|
+
import { BaseBoundaries as W, BaseLayout as l } from "../../Base/Base.js";
|
|
11
|
+
import { useI18n as w, useComponentDictionary as H } from "../../../i18n/I18n.js";
|
|
12
|
+
import { componentEvents as i } from "../../../shared/constants.js";
|
|
13
|
+
function j({
|
|
14
|
+
employeeId: a,
|
|
15
|
+
dictionary: E,
|
|
16
|
+
onEvent: t,
|
|
17
|
+
selectedTab: A
|
|
18
|
+
}) {
|
|
19
|
+
w("Employee.Dashboard"), H("Employee.Dashboard", E);
|
|
20
|
+
const { t: r } = R("Employee.Dashboard"), u = V(), [h, _] = B("basicDetails"), c = A ?? h, T = o(() => {
|
|
21
|
+
t(i.EMPLOYEE_UPDATE, { employeeId: a });
|
|
22
|
+
}, [t, a]), O = o(() => {
|
|
23
|
+
t(i.EMPLOYEE_HOME_ADDRESS, { employeeId: a });
|
|
24
|
+
}, [t, a]), m = o(() => {
|
|
25
|
+
t(i.EMPLOYEE_WORK_ADDRESS, { employeeId: a });
|
|
26
|
+
}, [t, a]), f = o(
|
|
22
27
|
(n) => {
|
|
23
|
-
t(
|
|
28
|
+
t(i.EMPLOYEE_COMPENSATION_CREATE, { employeeId: a, job: n });
|
|
24
29
|
},
|
|
25
30
|
[t, a]
|
|
26
|
-
),
|
|
27
|
-
t(
|
|
28
|
-
}, [t, a]),
|
|
29
|
-
t(
|
|
30
|
-
}, [t, a]),
|
|
31
|
-
t(
|
|
32
|
-
}, [t, a]),
|
|
31
|
+
), L = o(() => {
|
|
32
|
+
t(i.EMPLOYEE_JOB_ADD, { employeeId: a });
|
|
33
|
+
}, [t, a]), M = o(() => {
|
|
34
|
+
t(i.EMPLOYEE_JOB_ADD_ANOTHER, { employeeId: a });
|
|
35
|
+
}, [t, a]), P = o(() => {
|
|
36
|
+
t(i.EMPLOYEE_DEDUCTION_ADD, { employeeId: a });
|
|
37
|
+
}, [t, a]), x = o(
|
|
33
38
|
(n) => {
|
|
34
|
-
t(
|
|
39
|
+
t(i.EMPLOYEE_DEDUCTION_EDIT, n);
|
|
35
40
|
},
|
|
36
41
|
[t]
|
|
37
|
-
),
|
|
42
|
+
), S = o(
|
|
38
43
|
(n) => {
|
|
39
|
-
t(
|
|
44
|
+
t(i.EMPLOYEE_FEDERAL_TAXES_EDIT, { employeeId: a, federalTaxes: n });
|
|
40
45
|
},
|
|
41
46
|
[t, a]
|
|
42
|
-
),
|
|
43
|
-
t(
|
|
44
|
-
}, [t, a]),
|
|
47
|
+
), C = o(() => {
|
|
48
|
+
t(i.EMPLOYEE_STATE_TAXES_EDIT, { employeeId: a });
|
|
49
|
+
}, [t, a]), Y = o(
|
|
45
50
|
(n) => {
|
|
46
|
-
t(
|
|
51
|
+
t(i.EMPLOYEE_VIEW_FORM_TO_SIGN, { employeeId: a, formId: n });
|
|
47
52
|
},
|
|
48
53
|
[t, a]
|
|
49
|
-
),
|
|
54
|
+
), g = [
|
|
50
55
|
{
|
|
51
56
|
id: "basicDetails",
|
|
52
57
|
label: r("tabs.basicDetails"),
|
|
@@ -68,59 +73,60 @@ function W({ employeeId: a, dictionary: E, onEvent: t }) {
|
|
|
68
73
|
content: null
|
|
69
74
|
}
|
|
70
75
|
];
|
|
71
|
-
return /* @__PURE__ */
|
|
76
|
+
return /* @__PURE__ */ b(e, { flexDirection: "column", gap: 32, children: [
|
|
72
77
|
/* @__PURE__ */ s(
|
|
73
|
-
|
|
78
|
+
u.Tabs,
|
|
74
79
|
{
|
|
75
|
-
tabs:
|
|
80
|
+
tabs: g,
|
|
76
81
|
selectedId: c,
|
|
77
82
|
onSelectionChange: (n) => {
|
|
78
|
-
|
|
83
|
+
const D = n;
|
|
84
|
+
_(D), t(i.EMPLOYEE_DASHBOARD_TAB_CHANGE, { tab: D });
|
|
79
85
|
},
|
|
80
86
|
"aria-label": r("tabsLabel")
|
|
81
87
|
}
|
|
82
88
|
),
|
|
83
|
-
/* @__PURE__ */
|
|
89
|
+
/* @__PURE__ */ b(e, { flexDirection: "column", gap: 24, children: [
|
|
84
90
|
c === "basicDetails" && /* @__PURE__ */ s(d, { fallback: /* @__PURE__ */ s(l, { isLoading: !0 }), children: /* @__PURE__ */ s(
|
|
85
|
-
|
|
91
|
+
N,
|
|
86
92
|
{
|
|
87
93
|
employeeId: a,
|
|
88
|
-
onEditBasicDetails:
|
|
89
|
-
onManageHomeAddress:
|
|
90
|
-
onManageWorkAddress:
|
|
94
|
+
onEditBasicDetails: T,
|
|
95
|
+
onManageHomeAddress: O,
|
|
96
|
+
onManageWorkAddress: m
|
|
91
97
|
}
|
|
92
98
|
) }),
|
|
93
99
|
c === "jobAndPay" && /* @__PURE__ */ s(d, { fallback: /* @__PURE__ */ s(l, { isLoading: !0 }), children: /* @__PURE__ */ s(
|
|
94
|
-
|
|
100
|
+
k,
|
|
95
101
|
{
|
|
96
102
|
employeeId: a,
|
|
97
103
|
onEvent: t,
|
|
98
|
-
onEditCompensation:
|
|
99
|
-
onAddJob:
|
|
100
|
-
onAddAnotherJob:
|
|
101
|
-
onAddDeduction:
|
|
102
|
-
onEditDeduction:
|
|
104
|
+
onEditCompensation: f,
|
|
105
|
+
onAddJob: L,
|
|
106
|
+
onAddAnotherJob: M,
|
|
107
|
+
onAddDeduction: P,
|
|
108
|
+
onEditDeduction: x
|
|
103
109
|
}
|
|
104
110
|
) }),
|
|
105
111
|
c === "taxes" && /* @__PURE__ */ s(d, { fallback: /* @__PURE__ */ s(l, { isLoading: !0 }), children: /* @__PURE__ */ s(
|
|
106
|
-
|
|
112
|
+
F,
|
|
107
113
|
{
|
|
108
114
|
employeeId: a,
|
|
109
|
-
onEditFederalTaxes:
|
|
110
|
-
onEditStateTaxes:
|
|
115
|
+
onEditFederalTaxes: S,
|
|
116
|
+
onEditStateTaxes: C
|
|
111
117
|
}
|
|
112
118
|
) }),
|
|
113
|
-
c === "documents" && /* @__PURE__ */ s(d, { fallback: /* @__PURE__ */ s(l, { isLoading: !0 }), children: /* @__PURE__ */ s(
|
|
119
|
+
c === "documents" && /* @__PURE__ */ s(d, { fallback: /* @__PURE__ */ s(l, { isLoading: !0 }), children: /* @__PURE__ */ s(J, { employeeId: a, onViewForm: Y }) })
|
|
114
120
|
] })
|
|
115
121
|
] });
|
|
116
122
|
}
|
|
117
|
-
function
|
|
123
|
+
function v({
|
|
118
124
|
FallbackComponent: a,
|
|
119
125
|
...E
|
|
120
126
|
}) {
|
|
121
|
-
return /* @__PURE__ */ s(
|
|
127
|
+
return /* @__PURE__ */ s(W, { componentName: "Employee.Dashboard", FallbackComponent: a, children: /* @__PURE__ */ s(j, { ...E }) });
|
|
122
128
|
}
|
|
123
129
|
export {
|
|
124
|
-
|
|
130
|
+
v as Dashboard
|
|
125
131
|
};
|
|
126
132
|
//# sourceMappingURL=Dashboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dashboard.js","sources":["../../../../src/components/Employee/Dashboard/Dashboard.tsx"],"sourcesContent":["import { Suspense, useState, useCallback } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { Job } from '@gusto/embedded-api/models/components/job'\nimport type { Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport type { GetV1EmployeesEmployeeIdFederalTaxesResponse } from '@gusto/embedded-api/models/operations/getv1employeesemployeeidfederaltaxes'\nimport { BasicDetailsViewWithData } from './BasicDetailsView'\nimport { JobAndPayView } from './JobAndPayView'\nimport { TaxesViewWithData } from './TaxesView'\nimport { DocumentsViewWithData } from './DocumentsView'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base/Base'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\ntype EmployeeFederalTax = NonNullable<\n GetV1EmployeesEmployeeIdFederalTaxesResponse['employeeFederalTax']\n>\n\ntype DashboardTab = 'basicDetails' | 'jobAndPay' | 'taxes' | 'documents'\n\nexport interface DashboardProps extends BaseComponentInterface<'Employee.Dashboard'> {\n employeeId: string\n}\n\nfunction DashboardRoot({ employeeId, dictionary, onEvent }: DashboardProps) {\n useI18n('Employee.Dashboard')\n useComponentDictionary('Employee.Dashboard', dictionary)\n const { t } = useTranslation('Employee.Dashboard')\n const Components = useComponentContext()\n const [selectedTab, setSelectedTab] = useState<DashboardTab>('basicDetails')\n\n const handleEditBasicDetails = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_UPDATE, { employeeId })\n }, [onEvent, employeeId])\n\n const handleManageHomeAddress = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS, { employeeId })\n }, [onEvent, employeeId])\n\n const handleManageWorkAddress = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS, { employeeId })\n }, [onEvent, employeeId])\n\n const handleEditCompensation = useCallback(\n (job: Job) => {\n onEvent(componentEvents.EMPLOYEE_COMPENSATION_CREATE, { employeeId, job })\n },\n [onEvent, employeeId],\n )\n\n const handleAddJob = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_JOB_ADD, { employeeId })\n }, [onEvent, employeeId])\n\n const handleAddAnotherJob = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_JOB_ADD_ANOTHER, { employeeId })\n }, [onEvent, employeeId])\n\n const handleAddDeduction = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_ADD, { employeeId })\n }, [onEvent, employeeId])\n\n const handleEditDeduction = useCallback(\n (deduction: Garnishment) => {\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_EDIT, deduction)\n },\n [onEvent],\n )\n\n const handleEditFederalTaxes = useCallback(\n (federalTaxes: EmployeeFederalTax | undefined) => {\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_EDIT, { employeeId, federalTaxes })\n },\n [onEvent, employeeId],\n )\n\n const handleEditStateTaxes = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_EDIT, { employeeId })\n }, [onEvent, employeeId])\n\n const handleViewForm = useCallback(\n (formId: string) => {\n onEvent(componentEvents.EMPLOYEE_VIEW_FORM_TO_SIGN, { employeeId, formId })\n },\n [onEvent, employeeId],\n )\n\n const tabs = [\n {\n id: 'basicDetails' as const,\n label: t('tabs.basicDetails'),\n content: null,\n },\n {\n id: 'jobAndPay' as const,\n label: t('tabs.jobAndPay'),\n content: null,\n },\n {\n id: 'taxes' as const,\n label: t('tabs.taxes'),\n content: null,\n },\n {\n id: 'documents' as const,\n label: t('tabs.documents'),\n content: null,\n },\n ]\n\n return (\n <Flex flexDirection=\"column\" gap={32}>\n <Components.Tabs\n tabs={tabs}\n selectedId={selectedTab}\n onSelectionChange={id => {\n setSelectedTab(id as DashboardTab)\n }}\n aria-label={t('tabsLabel')}\n />\n\n <Flex flexDirection=\"column\" gap={24}>\n {selectedTab === 'basicDetails' && (\n <Suspense fallback={<BaseLayout isLoading />}>\n <BasicDetailsViewWithData\n employeeId={employeeId}\n onEditBasicDetails={handleEditBasicDetails}\n onManageHomeAddress={handleManageHomeAddress}\n onManageWorkAddress={handleManageWorkAddress}\n />\n </Suspense>\n )}\n\n {selectedTab === 'jobAndPay' && (\n <Suspense fallback={<BaseLayout isLoading />}>\n <JobAndPayView\n employeeId={employeeId}\n onEvent={onEvent}\n onEditCompensation={handleEditCompensation}\n onAddJob={handleAddJob}\n onAddAnotherJob={handleAddAnotherJob}\n onAddDeduction={handleAddDeduction}\n onEditDeduction={handleEditDeduction}\n />\n </Suspense>\n )}\n\n {selectedTab === 'taxes' && (\n <Suspense fallback={<BaseLayout isLoading />}>\n <TaxesViewWithData\n employeeId={employeeId}\n onEditFederalTaxes={handleEditFederalTaxes}\n onEditStateTaxes={handleEditStateTaxes}\n />\n </Suspense>\n )}\n\n {selectedTab === 'documents' && (\n <Suspense fallback={<BaseLayout isLoading />}>\n <DocumentsViewWithData employeeId={employeeId} onViewForm={handleViewForm} />\n </Suspense>\n )}\n </Flex>\n </Flex>\n )\n}\n\nexport function Dashboard({\n FallbackComponent,\n ...props\n}: DashboardProps & BaseComponentInterface) {\n return (\n <BaseBoundaries componentName=\"Employee.Dashboard\" FallbackComponent={FallbackComponent}>\n <DashboardRoot {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["DashboardRoot","employeeId","dictionary","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","selectedTab","setSelectedTab","useState","handleEditBasicDetails","useCallback","componentEvents","handleManageHomeAddress","handleManageWorkAddress","handleEditCompensation","job","handleAddJob","handleAddAnotherJob","handleAddDeduction","handleEditDeduction","deduction","handleEditFederalTaxes","federalTaxes","handleEditStateTaxes","handleViewForm","formId","tabs","jsxs","Flex","jsx","id","Suspense","BaseLayout","BasicDetailsViewWithData","JobAndPayView","TaxesViewWithData","DocumentsViewWithData","Dashboard","FallbackComponent","props","BaseBoundaries"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sources":["../../../../src/components/Employee/Dashboard/Dashboard.tsx"],"sourcesContent":["import { Suspense, useState, useCallback } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { Job } from '@gusto/embedded-api/models/components/job'\nimport type { Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport type { GetV1EmployeesEmployeeIdFederalTaxesResponse } from '@gusto/embedded-api/models/operations/getv1employeesemployeeidfederaltaxes'\nimport { BasicDetailsViewWithData } from './BasicDetailsView'\nimport { JobAndPayView } from './JobAndPayView'\nimport { TaxesViewWithData } from './TaxesView'\nimport { DocumentsViewWithData } from './DocumentsView'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base/Base'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\ntype EmployeeFederalTax = NonNullable<\n GetV1EmployeesEmployeeIdFederalTaxesResponse['employeeFederalTax']\n>\n\nexport type DashboardTab = 'basicDetails' | 'jobAndPay' | 'taxes' | 'documents'\n\nexport interface DashboardProps extends BaseComponentInterface<'Employee.Dashboard'> {\n employeeId: string\n selectedTab?: DashboardTab\n}\n\nfunction DashboardRoot({\n employeeId,\n dictionary,\n onEvent,\n selectedTab: controlledTab,\n}: DashboardProps) {\n useI18n('Employee.Dashboard')\n useComponentDictionary('Employee.Dashboard', dictionary)\n const { t } = useTranslation('Employee.Dashboard')\n const Components = useComponentContext()\n const [internalTab, setInternalTab] = useState<DashboardTab>('basicDetails')\n const selectedTab = controlledTab ?? internalTab\n\n const handleEditBasicDetails = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_UPDATE, { employeeId })\n }, [onEvent, employeeId])\n\n const handleManageHomeAddress = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS, { employeeId })\n }, [onEvent, employeeId])\n\n const handleManageWorkAddress = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS, { employeeId })\n }, [onEvent, employeeId])\n\n const handleEditCompensation = useCallback(\n (job: Job) => {\n onEvent(componentEvents.EMPLOYEE_COMPENSATION_CREATE, { employeeId, job })\n },\n [onEvent, employeeId],\n )\n\n const handleAddJob = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_JOB_ADD, { employeeId })\n }, [onEvent, employeeId])\n\n const handleAddAnotherJob = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_JOB_ADD_ANOTHER, { employeeId })\n }, [onEvent, employeeId])\n\n const handleAddDeduction = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_ADD, { employeeId })\n }, [onEvent, employeeId])\n\n const handleEditDeduction = useCallback(\n (deduction: Garnishment) => {\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_EDIT, deduction)\n },\n [onEvent],\n )\n\n const handleEditFederalTaxes = useCallback(\n (federalTaxes: EmployeeFederalTax | undefined) => {\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_EDIT, { employeeId, federalTaxes })\n },\n [onEvent, employeeId],\n )\n\n const handleEditStateTaxes = useCallback(() => {\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_EDIT, { employeeId })\n }, [onEvent, employeeId])\n\n const handleViewForm = useCallback(\n (formId: string) => {\n onEvent(componentEvents.EMPLOYEE_VIEW_FORM_TO_SIGN, { employeeId, formId })\n },\n [onEvent, employeeId],\n )\n\n const tabs = [\n {\n id: 'basicDetails' as const,\n label: t('tabs.basicDetails'),\n content: null,\n },\n {\n id: 'jobAndPay' as const,\n label: t('tabs.jobAndPay'),\n content: null,\n },\n {\n id: 'taxes' as const,\n label: t('tabs.taxes'),\n content: null,\n },\n {\n id: 'documents' as const,\n label: t('tabs.documents'),\n content: null,\n },\n ]\n\n return (\n <Flex flexDirection=\"column\" gap={32}>\n <Components.Tabs\n tabs={tabs}\n selectedId={selectedTab}\n onSelectionChange={id => {\n const next = id as DashboardTab\n setInternalTab(next)\n onEvent(componentEvents.EMPLOYEE_DASHBOARD_TAB_CHANGE, { tab: next })\n }}\n aria-label={t('tabsLabel')}\n />\n\n <Flex flexDirection=\"column\" gap={24}>\n {selectedTab === 'basicDetails' && (\n <Suspense fallback={<BaseLayout isLoading />}>\n <BasicDetailsViewWithData\n employeeId={employeeId}\n onEditBasicDetails={handleEditBasicDetails}\n onManageHomeAddress={handleManageHomeAddress}\n onManageWorkAddress={handleManageWorkAddress}\n />\n </Suspense>\n )}\n\n {selectedTab === 'jobAndPay' && (\n <Suspense fallback={<BaseLayout isLoading />}>\n <JobAndPayView\n employeeId={employeeId}\n onEvent={onEvent}\n onEditCompensation={handleEditCompensation}\n onAddJob={handleAddJob}\n onAddAnotherJob={handleAddAnotherJob}\n onAddDeduction={handleAddDeduction}\n onEditDeduction={handleEditDeduction}\n />\n </Suspense>\n )}\n\n {selectedTab === 'taxes' && (\n <Suspense fallback={<BaseLayout isLoading />}>\n <TaxesViewWithData\n employeeId={employeeId}\n onEditFederalTaxes={handleEditFederalTaxes}\n onEditStateTaxes={handleEditStateTaxes}\n />\n </Suspense>\n )}\n\n {selectedTab === 'documents' && (\n <Suspense fallback={<BaseLayout isLoading />}>\n <DocumentsViewWithData employeeId={employeeId} onViewForm={handleViewForm} />\n </Suspense>\n )}\n </Flex>\n </Flex>\n )\n}\n\nexport function Dashboard({\n FallbackComponent,\n ...props\n}: DashboardProps & BaseComponentInterface) {\n return (\n <BaseBoundaries componentName=\"Employee.Dashboard\" FallbackComponent={FallbackComponent}>\n <DashboardRoot {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["DashboardRoot","employeeId","dictionary","onEvent","controlledTab","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","internalTab","setInternalTab","useState","selectedTab","handleEditBasicDetails","useCallback","componentEvents","handleManageHomeAddress","handleManageWorkAddress","handleEditCompensation","job","handleAddJob","handleAddAnotherJob","handleAddDeduction","handleEditDeduction","deduction","handleEditFederalTaxes","federalTaxes","handleEditStateTaxes","handleViewForm","formId","tabs","jsxs","Flex","jsx","id","next","Suspense","BaseLayout","BasicDetailsViewWithData","JobAndPayView","TaxesViewWithData","DocumentsViewWithData","Dashboard","FallbackComponent","props","BaseBoundaries"],"mappings":";;;;;;;;;;;;AA0BA,SAASA,EAAc;AAAA,EACrB,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAaC;AACf,GAAmB;AACjB,EAAAC,EAAQ,oBAAoB,GAC5BC,EAAuB,sBAAsBJ,CAAU;AACvD,QAAM,EAAE,GAAAK,EAAA,IAAMC,EAAe,oBAAoB,GAC3CC,IAAaC,EAAA,GACb,CAACC,GAAaC,CAAc,IAAIC,EAAuB,cAAc,GACrEC,IAAcV,KAAiBO,GAE/BI,IAAyBC,EAAY,MAAM;AAC/C,IAAAb,EAAQc,EAAgB,iBAAiB,EAAE,YAAAhB,EAAA,CAAY;AAAA,EACzD,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBiB,IAA0BF,EAAY,MAAM;AAChD,IAAAb,EAAQc,EAAgB,uBAAuB,EAAE,YAAAhB,EAAA,CAAY;AAAA,EAC/D,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBkB,IAA0BH,EAAY,MAAM;AAChD,IAAAb,EAAQc,EAAgB,uBAAuB,EAAE,YAAAhB,EAAA,CAAY;AAAA,EAC/D,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBmB,IAAyBJ;AAAA,IAC7B,CAACK,MAAa;AACZ,MAAAlB,EAAQc,EAAgB,8BAA8B,EAAE,YAAAhB,GAAY,KAAAoB,GAAK;AAAA,IAC3E;AAAA,IACA,CAAClB,GAASF,CAAU;AAAA,EAAA,GAGhBqB,IAAeN,EAAY,MAAM;AACrC,IAAAb,EAAQc,EAAgB,kBAAkB,EAAE,YAAAhB,EAAA,CAAY;AAAA,EAC1D,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBsB,IAAsBP,EAAY,MAAM;AAC5C,IAAAb,EAAQc,EAAgB,0BAA0B,EAAE,YAAAhB,EAAA,CAAY;AAAA,EAClE,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBuB,IAAqBR,EAAY,MAAM;AAC3C,IAAAb,EAAQc,EAAgB,wBAAwB,EAAE,YAAAhB,EAAA,CAAY;AAAA,EAChE,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBwB,IAAsBT;AAAA,IAC1B,CAACU,MAA2B;AAC1B,MAAAvB,EAAQc,EAAgB,yBAAyBS,CAAS;AAAA,IAC5D;AAAA,IACA,CAACvB,CAAO;AAAA,EAAA,GAGJwB,IAAyBX;AAAA,IAC7B,CAACY,MAAiD;AAChD,MAAAzB,EAAQc,EAAgB,6BAA6B,EAAE,YAAAhB,GAAY,cAAA2B,GAAc;AAAA,IACnF;AAAA,IACA,CAACzB,GAASF,CAAU;AAAA,EAAA,GAGhB4B,IAAuBb,EAAY,MAAM;AAC7C,IAAAb,EAAQc,EAAgB,2BAA2B,EAAE,YAAAhB,EAAA,CAAY;AAAA,EACnE,GAAG,CAACE,GAASF,CAAU,CAAC,GAElB6B,IAAiBd;AAAA,IACrB,CAACe,MAAmB;AAClB,MAAA5B,EAAQc,EAAgB,4BAA4B,EAAE,YAAAhB,GAAY,QAAA8B,GAAQ;AAAA,IAC5E;AAAA,IACA,CAAC5B,GAASF,CAAU;AAAA,EAAA,GAGhB+B,IAAO;AAAA,IACX;AAAA,MACE,IAAI;AAAA,MACJ,OAAOzB,EAAE,mBAAmB;AAAA,MAC5B,SAAS;AAAA,IAAA;AAAA,IAEX;AAAA,MACE,IAAI;AAAA,MACJ,OAAOA,EAAE,gBAAgB;AAAA,MACzB,SAAS;AAAA,IAAA;AAAA,IAEX;AAAA,MACE,IAAI;AAAA,MACJ,OAAOA,EAAE,YAAY;AAAA,MACrB,SAAS;AAAA,IAAA;AAAA,IAEX;AAAA,MACE,IAAI;AAAA,MACJ,OAAOA,EAAE,gBAAgB;AAAA,MACzB,SAAS;AAAA,IAAA;AAAA,EACX;AAGF,SACE,gBAAA0B,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC1B,EAAW;AAAA,MAAX;AAAA,QACC,MAAAuB;AAAA,QACA,YAAYlB;AAAA,QACZ,mBAAmB,CAAAsB,MAAM;AACvB,gBAAMC,IAAOD;AACb,UAAAxB,EAAeyB,CAAI,GACnBlC,EAAQc,EAAgB,+BAA+B,EAAE,KAAKoB,GAAM;AAAA,QACtE;AAAA,QACA,cAAY9B,EAAE,WAAW;AAAA,MAAA;AAAA,IAAA;AAAA,IAG3B,gBAAA0B,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,MAAApB,MAAgB,oCACdwB,GAAA,EAAS,4BAAWC,GAAA,EAAW,WAAS,IAAC,GACxC,UAAA,gBAAAJ;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,YAAAvC;AAAA,UACA,oBAAoBc;AAAA,UACpB,qBAAqBG;AAAA,UACrB,qBAAqBC;AAAA,QAAA;AAAA,MAAA,GAEzB;AAAA,MAGDL,MAAgB,eACf,gBAAAqB,EAACG,GAAA,EAAS,UAAU,gBAAAH,EAACI,GAAA,EAAW,WAAS,IAAC,GACxC,UAAA,gBAAAJ;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,YAAAxC;AAAA,UACA,SAAAE;AAAA,UACA,oBAAoBiB;AAAA,UACpB,UAAUE;AAAA,UACV,iBAAiBC;AAAA,UACjB,gBAAgBC;AAAA,UAChB,iBAAiBC;AAAA,QAAA;AAAA,MAAA,GAErB;AAAA,MAGDX,MAAgB,WACf,gBAAAqB,EAACG,GAAA,EAAS,UAAU,gBAAAH,EAACI,GAAA,EAAW,WAAS,IAAC,GACxC,UAAA,gBAAAJ;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,YAAAzC;AAAA,UACA,oBAAoB0B;AAAA,UACpB,kBAAkBE;AAAA,QAAA;AAAA,MAAA,GAEtB;AAAA,MAGDf,MAAgB,eACf,gBAAAqB,EAACG,GAAA,EAAS,UAAU,gBAAAH,EAACI,GAAA,EAAW,WAAS,GAAA,CAAC,GACxC,UAAA,gBAAAJ,EAACQ,GAAA,EAAsB,YAAA1C,GAAwB,YAAY6B,GAAgB,EAAA,CAC7E;AAAA,IAAA,EAAA,CAEJ;AAAA,EAAA,GACF;AAEJ;AAEO,SAASc,EAAU;AAAA,EACxB,mBAAAC;AAAA,EACA,GAAGC;AACL,GAA4C;AAC1C,SACE,gBAAAX,EAACY,KAAe,eAAc,sBAAqB,mBAAAF,GACjD,UAAA,gBAAAV,EAACnC,GAAA,EAAe,GAAG8C,EAAA,CAAO,EAAA,CAC5B;AAEJ;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Job } from '@gusto/embedded-api/models/components/job';
|
|
2
|
+
import { DashboardTab } from './Dashboard';
|
|
2
3
|
import { FlowContextInterface } from '../../Flow/useFlow';
|
|
3
4
|
export type DashboardSuccessAlert = 'bankAccountAdded' | 'bankAccountDeleted' | 'splitUpdated' | 'deductionAdded' | 'deductionUpdated' | 'deductionDeleted';
|
|
4
5
|
export interface DashboardContextInterface extends FlowContextInterface {
|
|
@@ -9,6 +10,9 @@ export interface DashboardContextInterface extends FlowContextInterface {
|
|
|
9
10
|
/** Set by the EMPLOYEE_DEDUCTION_EDIT transition; consumed by
|
|
10
11
|
* DeductionFormContextual to pre-populate the form. */
|
|
11
12
|
editingDeductionId?: string;
|
|
13
|
+
/** Persists the active Dashboard tab across sub-flows so Cancel/Back
|
|
14
|
+
* returns to the originating tab instead of resetting to basic details. */
|
|
15
|
+
selectedTab?: DashboardTab;
|
|
12
16
|
}
|
|
13
17
|
export declare function DashboardViewContextual(): import("react/jsx-runtime").JSX.Element;
|
|
14
18
|
export declare function HomeAddressContextual(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -21,5 +25,5 @@ export declare function PaymentSplitViewContextual(): import("react/jsx-runtime"
|
|
|
21
25
|
export declare function DocumentManagerContextual(): import("react/jsx-runtime").JSX.Element;
|
|
22
26
|
export declare function DeductionFormContextual(): import("react/jsx-runtime").JSX.Element;
|
|
23
27
|
export declare function AddJobPlaceholderContextual(): import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
export declare function
|
|
28
|
+
export declare function EditCompensationContextual(): import("react/jsx-runtime").JSX.Element;
|
|
25
29
|
export declare function AddAnotherJobPlaceholderContextual(): import("react/jsx-runtime").JSX.Element;
|