@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.
Files changed (113) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +20 -4
  3. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  4. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +20 -4
  5. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  6. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +22 -6
  7. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  8. package/dist/components/Company/BankAccount/BankAccountForm/context.js +20 -4
  9. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  10. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +20 -4
  11. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  12. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
  13. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +28 -12
  14. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  15. package/dist/components/Company/Industry/Context.js +23 -7
  16. package/dist/components/Company/Industry/Context.js.map +1 -1
  17. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +20 -4
  18. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  19. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +20 -4
  20. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  21. package/dist/components/Company/OnboardingOverview/context.js +20 -4
  22. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  23. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
  24. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +20 -4
  25. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  26. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +20 -4
  27. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  28. package/dist/components/Contractor/Address/useAddress.js +22 -6
  29. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  30. package/dist/components/Contractor/Profile/useContractorProfile.js +52 -42
  31. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  32. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.d.ts +11 -0
  33. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js +230 -0
  34. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -0
  35. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.module.scss.js +8 -0
  36. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.module.scss.js.map +1 -0
  37. package/dist/components/Employee/Compensation/management/EditCompensation/index.d.ts +3 -0
  38. package/dist/components/Employee/Compensation/management/index.d.ts +3 -0
  39. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +6 -6
  40. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
  41. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
  42. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +114 -111
  43. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  44. package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
  45. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +8 -0
  46. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js +22 -17
  47. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -1
  48. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +12 -2
  49. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +115 -110
  50. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
  51. package/dist/components/Employee/Dashboard/BasicDetailsView.d.ts +8 -3
  52. package/dist/components/Employee/Dashboard/BasicDetailsView.js +108 -84
  53. package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
  54. package/dist/components/Employee/Dashboard/Dashboard.d.ts +2 -0
  55. package/dist/components/Employee/Dashboard/Dashboard.js +64 -58
  56. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  57. package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +5 -1
  58. package/dist/components/Employee/Dashboard/DashboardComponents.js +82 -65
  59. package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
  60. package/dist/components/Employee/Dashboard/DocumentsView.js +18 -11
  61. package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
  62. package/dist/components/Employee/Dashboard/JobAndPayView.js +358 -338
  63. package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
  64. package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js +8 -0
  65. package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js.map +1 -0
  66. package/dist/components/Employee/Dashboard/TaxesView.d.ts +7 -2
  67. package/dist/components/Employee/Dashboard/TaxesView.js +68 -54
  68. package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
  69. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +16 -5
  70. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  71. package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.d.ts +12 -5
  72. package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js +21 -21
  73. package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js.map +1 -1
  74. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.d.ts +13 -3
  75. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js +55 -56
  76. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js.map +1 -1
  77. package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.d.ts +10 -4
  78. package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.js +10 -12
  79. package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.js.map +1 -1
  80. package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.d.ts +10 -3
  81. package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.js +19 -14
  82. package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.js.map +1 -1
  83. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
  84. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
  85. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +20 -4
  86. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  87. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
  88. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
  89. package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
  90. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
  91. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
  92. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
  93. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
  94. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
  95. package/dist/components/Employee/Taxes/useTaxes.js +20 -4
  96. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  97. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +34 -26
  98. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  99. package/dist/components/Payroll/usePreparedPayrollData.js +36 -22
  100. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  101. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +52 -40
  102. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
  103. package/dist/i18n/en/Employee.Compensation.json.js +48 -44
  104. package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
  105. package/dist/i18n/en/Employee.Dashboard.json.js +1 -1
  106. package/dist/i18n/en/Employee.DocumentManager.json.js +1 -1
  107. package/dist/i18n/en/common.json.d.ts +7 -0
  108. package/dist/shared/constants.d.ts +2 -0
  109. package/dist/shared/constants.js +19 -18
  110. package/dist/shared/constants.js.map +1 -1
  111. package/dist/style.css +1 -1
  112. package/dist/types/i18next.d.ts +22 -2
  113. 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 D } from "react-i18next";
3
- import { Flex as r } from "../../Common/Flex/Flex.js";
4
- import { useComponentContext as T } from "../../../contexts/ComponentAdapter/useComponentContext.js";
5
- import { formatDateLongWithYear as x } from "../../../helpers/dateFormatting.js";
6
- import { firstLastName as B, getStreet as b, getCityStateZip as v } from "../../../helpers/formattedStrings.js";
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 C } from "../../Common/Loading/Loading.js";
10
- import { BaseLayout as f } from "../../Base/Base.js";
11
- import { useEmployeeBasicDetails as X } from "./hooks/useEmployeeBasicDetails.js";
12
- function _({
13
- employeeId: a,
14
- onEditBasicDetails: c,
15
- onManageHomeAddress: o,
16
- onManageWorkAddress: s
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 l = X({ employeeId: a });
19
- return l.isLoading ? /* @__PURE__ */ e(f, { isLoading: !0, error: l.errorHandling.errors }) : /* @__PURE__ */ e(f, { error: l.errorHandling.errors, children: /* @__PURE__ */ e(
20
- A,
18
+ const o = N({ employeeId: r });
19
+ return /* @__PURE__ */ e(w, { error: o.errorHandling.errors, children: /* @__PURE__ */ e(
20
+ k,
21
21
  {
22
- employee: l.data.employee,
23
- currentHomeAddress: l.data.currentHomeAddress,
24
- currentWorkAddress: l.data.currentWorkAddress,
25
- onEditBasicDetails: c,
26
- onManageHomeAddress: o,
27
- onManageWorkAddress: s
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 A({
32
- employee: a,
33
- currentHomeAddress: c,
34
- currentWorkAddress: o,
35
- isLoading: s = !1,
36
- onEditBasicDetails: l,
37
- onManageHomeAddress: u,
38
- onManageWorkAddress: g
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: i } = D("Employee.Dashboard"), t = T();
41
- if (s || !a)
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
- t.Box,
49
+ i.Box,
50
50
  {
51
51
  header: /* @__PURE__ */ e(
52
- t.BoxHeader,
52
+ i.BoxHeader,
53
53
  {
54
- title: i("basicDetails.title"),
55
- action: /* @__PURE__ */ e(t.Button, { variant: "secondary", onClick: l, children: i("basicDetails.editCta") })
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(r, { flexDirection: "column", gap: 16, children: /* @__PURE__ */ n(r, { flexDirection: "column", gap: 12, children: [
59
- d && /* @__PURE__ */ n(r, { flexDirection: "column", gap: 0, children: [
60
- /* @__PURE__ */ e(t.Text, { variant: "supporting", children: i("basicDetails.legalName") }),
61
- /* @__PURE__ */ e(t.Text, { children: d })
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
- h && /* @__PURE__ */ n(r, { flexDirection: "column", gap: 0, children: [
64
- /* @__PURE__ */ e(t.Text, { variant: "supporting", children: i("basicDetails.startDate") }),
65
- /* @__PURE__ */ e(t.Text, { children: h })
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
- p && /* @__PURE__ */ n(r, { flexDirection: "column", gap: 0, children: [
68
- /* @__PURE__ */ e(t.Text, { variant: "supporting", children: i("basicDetails.socialSecurityNumber") }),
69
- /* @__PURE__ */ e(t.Text, { children: p })
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
- m && /* @__PURE__ */ n(r, { flexDirection: "column", gap: 0, children: [
72
- /* @__PURE__ */ e(t.Text, { variant: "supporting", children: i("basicDetails.dateOfBirth") }),
73
- /* @__PURE__ */ e(t.Text, { children: m })
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
- a.email && /* @__PURE__ */ n(r, { flexDirection: "column", gap: 0, children: [
76
- /* @__PURE__ */ e(t.Text, { variant: "supporting", children: i("basicDetails.personalEmail") }),
77
- /* @__PURE__ */ e(t.Text, { children: a.email })
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
- t.Box,
91
+ i.Box,
84
92
  {
85
93
  header: /* @__PURE__ */ e(
86
- t.BoxHeader,
94
+ i.BoxHeader,
87
95
  {
88
- title: i("homeAddress.title"),
89
- action: /* @__PURE__ */ e(t.Button, { variant: "secondary", onClick: u, children: i("homeAddress.manageCta") })
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(r, { flexDirection: "column", gap: 16, children: c ? /* @__PURE__ */ n(r, { flexDirection: "column", gap: 0, children: [
93
- /* @__PURE__ */ e(t.Text, { variant: "supporting", children: i("homeAddress.currentAddress") }),
94
- /* @__PURE__ */ e(t.Text, { children: b(c).replace(",", "") }),
95
- /* @__PURE__ */ e(t.Text, { children: v(c) })
96
- ] }) : /* @__PURE__ */ e(t.Text, { children: i("homeAddress.noAddress") }) })
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
- t.Box,
116
+ i.Box,
101
117
  {
102
118
  header: /* @__PURE__ */ e(
103
- t.BoxHeader,
119
+ i.BoxHeader,
104
120
  {
105
- title: i("workAddress.title"),
106
- action: /* @__PURE__ */ e(t.Button, { variant: "secondary", onClick: g, children: i("workAddress.manageCta") })
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(r, { flexDirection: "column", gap: 16, children: o ? /* @__PURE__ */ n(r, { flexDirection: "column", gap: 0, children: [
110
- /* @__PURE__ */ e(t.Text, { variant: "supporting", children: i("workAddress.currentAddress") }),
111
- /* @__PURE__ */ n(t.Text, { children: [
112
- o.street1,
113
- o.street2 ? `, ${o.street2}` : ""
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(t.Text, { children: [
116
- o.city,
139
+ /* @__PURE__ */ n(i.Text, { children: [
140
+ s.city,
117
141
  ", ",
118
- o.state,
142
+ s.state,
119
143
  " ",
120
- o.zip
144
+ s.zip
121
145
  ] })
122
- ] }) : /* @__PURE__ */ e(t.Text, { children: i("workAddress.noAddress") }) })
146
+ ] }) : /* @__PURE__ */ e(i.Text, { children: t("workAddress.noAddress") }) })
123
147
  }
124
148
  )
125
149
  ] });
126
150
  }
127
151
  export {
128
- A as BasicDetailsView,
129
- _ as BasicDetailsViewWithData
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 D } from "react/jsx-runtime";
2
- import { useState as C, useCallback as i, Suspense as d } from "react";
3
- import { useTranslation as g } from "react-i18next";
4
- import { BasicDetailsViewWithData as Y } from "./BasicDetailsView.js";
5
- import { JobAndPayView as B } from "./JobAndPayView.js";
6
- import { TaxesViewWithData as R } from "./TaxesView.js";
7
- import { DocumentsViewWithData as k } from "./DocumentsView.js";
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 F } from "../../../contexts/ComponentAdapter/useComponentContext.js";
10
- import { BaseBoundaries as J, BaseLayout as l } from "../../Base/Base.js";
11
- import { useI18n as N, useComponentDictionary as V } from "../../../i18n/I18n.js";
12
- import { componentEvents as o } from "../../../shared/constants.js";
13
- function W({ employeeId: a, dictionary: E, onEvent: t }) {
14
- N("Employee.Dashboard"), V("Employee.Dashboard", E);
15
- const { t: r } = g("Employee.Dashboard"), b = F(), [c, u] = C("basicDetails"), h = i(() => {
16
- t(o.EMPLOYEE_UPDATE, { employeeId: a });
17
- }, [t, a]), A = i(() => {
18
- t(o.EMPLOYEE_HOME_ADDRESS, { employeeId: a });
19
- }, [t, a]), _ = i(() => {
20
- t(o.EMPLOYEE_WORK_ADDRESS, { employeeId: a });
21
- }, [t, a]), m = i(
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(o.EMPLOYEE_COMPENSATION_CREATE, { employeeId: a, job: n });
28
+ t(i.EMPLOYEE_COMPENSATION_CREATE, { employeeId: a, job: n });
24
29
  },
25
30
  [t, a]
26
- ), T = i(() => {
27
- t(o.EMPLOYEE_JOB_ADD, { employeeId: a });
28
- }, [t, a]), O = i(() => {
29
- t(o.EMPLOYEE_JOB_ADD_ANOTHER, { employeeId: a });
30
- }, [t, a]), f = i(() => {
31
- t(o.EMPLOYEE_DEDUCTION_ADD, { employeeId: a });
32
- }, [t, a]), L = i(
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(o.EMPLOYEE_DEDUCTION_EDIT, n);
39
+ t(i.EMPLOYEE_DEDUCTION_EDIT, n);
35
40
  },
36
41
  [t]
37
- ), M = i(
42
+ ), S = o(
38
43
  (n) => {
39
- t(o.EMPLOYEE_FEDERAL_TAXES_EDIT, { employeeId: a, federalTaxes: n });
44
+ t(i.EMPLOYEE_FEDERAL_TAXES_EDIT, { employeeId: a, federalTaxes: n });
40
45
  },
41
46
  [t, a]
42
- ), P = i(() => {
43
- t(o.EMPLOYEE_STATE_TAXES_EDIT, { employeeId: a });
44
- }, [t, a]), x = i(
47
+ ), C = o(() => {
48
+ t(i.EMPLOYEE_STATE_TAXES_EDIT, { employeeId: a });
49
+ }, [t, a]), Y = o(
45
50
  (n) => {
46
- t(o.EMPLOYEE_VIEW_FORM_TO_SIGN, { employeeId: a, formId: n });
51
+ t(i.EMPLOYEE_VIEW_FORM_TO_SIGN, { employeeId: a, formId: n });
47
52
  },
48
53
  [t, a]
49
- ), S = [
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__ */ D(e, { flexDirection: "column", gap: 32, children: [
76
+ return /* @__PURE__ */ b(e, { flexDirection: "column", gap: 32, children: [
72
77
  /* @__PURE__ */ s(
73
- b.Tabs,
78
+ u.Tabs,
74
79
  {
75
- tabs: S,
80
+ tabs: g,
76
81
  selectedId: c,
77
82
  onSelectionChange: (n) => {
78
- u(n);
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__ */ D(e, { flexDirection: "column", gap: 24, children: [
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
- Y,
91
+ N,
86
92
  {
87
93
  employeeId: a,
88
- onEditBasicDetails: h,
89
- onManageHomeAddress: A,
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
- B,
100
+ k,
95
101
  {
96
102
  employeeId: a,
97
103
  onEvent: t,
98
- onEditCompensation: m,
99
- onAddJob: T,
100
- onAddAnotherJob: O,
101
- onAddDeduction: f,
102
- onEditDeduction: L
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
- R,
112
+ F,
107
113
  {
108
114
  employeeId: a,
109
- onEditFederalTaxes: M,
110
- onEditStateTaxes: P
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(k, { employeeId: a, onViewForm: x }) })
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(J, { componentName: "Employee.Dashboard", FallbackComponent: a, children: /* @__PURE__ */ s(W, { ...E }) });
127
+ return /* @__PURE__ */ s(W, { componentName: "Employee.Dashboard", FallbackComponent: a, children: /* @__PURE__ */ s(j, { ...E }) });
122
128
  }
123
129
  export {
124
- $ as Dashboard
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":";;;;;;;;;;;;AAyBA,SAASA,EAAc,EAAE,YAAAC,GAAY,YAAAC,GAAY,SAAAC,KAA2B;AAC1E,EAAAC,EAAQ,oBAAoB,GAC5BC,EAAuB,sBAAsBH,CAAU;AACvD,QAAM,EAAE,GAAAI,EAAA,IAAMC,EAAe,oBAAoB,GAC3CC,IAAaC,EAAA,GACb,CAACC,GAAaC,CAAc,IAAIC,EAAuB,cAAc,GAErEC,IAAyBC,EAAY,MAAM;AAC/C,IAAAX,EAAQY,EAAgB,iBAAiB,EAAE,YAAAd,EAAA,CAAY;AAAA,EACzD,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBe,IAA0BF,EAAY,MAAM;AAChD,IAAAX,EAAQY,EAAgB,uBAAuB,EAAE,YAAAd,EAAA,CAAY;AAAA,EAC/D,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBgB,IAA0BH,EAAY,MAAM;AAChD,IAAAX,EAAQY,EAAgB,uBAAuB,EAAE,YAAAd,EAAA,CAAY;AAAA,EAC/D,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBiB,IAAyBJ;AAAA,IAC7B,CAACK,MAAa;AACZ,MAAAhB,EAAQY,EAAgB,8BAA8B,EAAE,YAAAd,GAAY,KAAAkB,GAAK;AAAA,IAC3E;AAAA,IACA,CAAChB,GAASF,CAAU;AAAA,EAAA,GAGhBmB,IAAeN,EAAY,MAAM;AACrC,IAAAX,EAAQY,EAAgB,kBAAkB,EAAE,YAAAd,EAAA,CAAY;AAAA,EAC1D,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBoB,IAAsBP,EAAY,MAAM;AAC5C,IAAAX,EAAQY,EAAgB,0BAA0B,EAAE,YAAAd,EAAA,CAAY;AAAA,EAClE,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBqB,IAAqBR,EAAY,MAAM;AAC3C,IAAAX,EAAQY,EAAgB,wBAAwB,EAAE,YAAAd,EAAA,CAAY;AAAA,EAChE,GAAG,CAACE,GAASF,CAAU,CAAC,GAElBsB,IAAsBT;AAAA,IAC1B,CAACU,MAA2B;AAC1B,MAAArB,EAAQY,EAAgB,yBAAyBS,CAAS;AAAA,IAC5D;AAAA,IACA,CAACrB,CAAO;AAAA,EAAA,GAGJsB,IAAyBX;AAAA,IAC7B,CAACY,MAAiD;AAChD,MAAAvB,EAAQY,EAAgB,6BAA6B,EAAE,YAAAd,GAAY,cAAAyB,GAAc;AAAA,IACnF;AAAA,IACA,CAACvB,GAASF,CAAU;AAAA,EAAA,GAGhB0B,IAAuBb,EAAY,MAAM;AAC7C,IAAAX,EAAQY,EAAgB,2BAA2B,EAAE,YAAAd,EAAA,CAAY;AAAA,EACnE,GAAG,CAACE,GAASF,CAAU,CAAC,GAElB2B,IAAiBd;AAAA,IACrB,CAACe,MAAmB;AAClB,MAAA1B,EAAQY,EAAgB,4BAA4B,EAAE,YAAAd,GAAY,QAAA4B,GAAQ;AAAA,IAC5E;AAAA,IACA,CAAC1B,GAASF,CAAU;AAAA,EAAA,GAGhB6B,IAAO;AAAA,IACX;AAAA,MACE,IAAI;AAAA,MACJ,OAAOxB,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,gBAAAyB,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACzB,EAAW;AAAA,MAAX;AAAA,QACC,MAAAsB;AAAA,QACA,YAAYpB;AAAA,QACZ,mBAAmB,CAAAwB,MAAM;AACvB,UAAAvB,EAAeuB,CAAkB;AAAA,QACnC;AAAA,QACA,cAAY5B,EAAE,WAAW;AAAA,MAAA;AAAA,IAAA;AAAA,IAG3B,gBAAAyB,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,MAAAtB,MAAgB,oCACdyB,GAAA,EAAS,4BAAWC,GAAA,EAAW,WAAS,IAAC,GACxC,UAAA,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,YAAApC;AAAA,UACA,oBAAoBY;AAAA,UACpB,qBAAqBG;AAAA,UACrB,qBAAqBC;AAAA,QAAA;AAAA,MAAA,GAEzB;AAAA,MAGDP,MAAgB,eACf,gBAAAuB,EAACE,GAAA,EAAS,UAAU,gBAAAF,EAACG,GAAA,EAAW,WAAS,IAAC,GACxC,UAAA,gBAAAH;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,YAAArC;AAAA,UACA,SAAAE;AAAA,UACA,oBAAoBe;AAAA,UACpB,UAAUE;AAAA,UACV,iBAAiBC;AAAA,UACjB,gBAAgBC;AAAA,UAChB,iBAAiBC;AAAA,QAAA;AAAA,MAAA,GAErB;AAAA,MAGDb,MAAgB,WACf,gBAAAuB,EAACE,GAAA,EAAS,UAAU,gBAAAF,EAACG,GAAA,EAAW,WAAS,IAAC,GACxC,UAAA,gBAAAH;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,YAAAtC;AAAA,UACA,oBAAoBwB;AAAA,UACpB,kBAAkBE;AAAA,QAAA;AAAA,MAAA,GAEtB;AAAA,MAGDjB,MAAgB,eACf,gBAAAuB,EAACE,GAAA,EAAS,UAAU,gBAAAF,EAACG,GAAA,EAAW,WAAS,GAAA,CAAC,GACxC,UAAA,gBAAAH,EAACO,GAAA,EAAsB,YAAAvC,GAAwB,YAAY2B,GAAgB,EAAA,CAC7E;AAAA,IAAA,EAAA,CAEJ;AAAA,EAAA,GACF;AAEJ;AAEO,SAASa,EAAU;AAAA,EACxB,mBAAAC;AAAA,EACA,GAAGC;AACL,GAA4C;AAC1C,SACE,gBAAAV,EAACW,KAAe,eAAc,sBAAqB,mBAAAF,GACjD,UAAA,gBAAAT,EAACjC,GAAA,EAAe,GAAG2C,EAAA,CAAO,EAAA,CAC5B;AAEJ;"}
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":"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"}
@@ -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 EditCompensationPlaceholderContextual(): import("react/jsx-runtime").JSX.Element;
28
+ export declare function EditCompensationContextual(): import("react/jsx-runtime").JSX.Element;
25
29
  export declare function AddAnotherJobPlaceholderContextual(): import("react/jsx-runtime").JSX.Element;