@gusto/embedded-react-sdk 0.14.1 → 0.16.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 (143) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/assets/icons/feature-icon-check.svg.js +10 -0
  3. package/dist/assets/icons/feature-icon-check.svg.js.map +1 -0
  4. package/dist/components/Common/DataView/DataView.d.ts +2 -1
  5. package/dist/components/Common/DataView/DataView.js +19 -18
  6. package/dist/components/Common/DataView/DataView.js.map +1 -1
  7. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.d.ts +2 -0
  8. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js +52 -0
  9. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -0
  10. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes.d.ts +44 -0
  11. package/dist/components/Common/FlowBreadcrumbs/index.d.ts +3 -0
  12. package/dist/components/Common/PaginationControl/PaginationControl.js +36 -36
  13. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  14. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +3 -1
  15. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.d.ts +2 -0
  16. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +38 -0
  17. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js.map +1 -0
  18. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.module.scss.js +16 -0
  19. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.module.scss.js.map +1 -0
  20. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.d.ts +27 -0
  21. package/dist/components/Common/UI/Breadcrumbs/index.d.ts +3 -0
  22. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  23. package/dist/components/Company/Locations/LocationsList/List.js +28 -26
  24. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  25. package/dist/components/Company/Locations/LocationsList/LocationsList.js +7 -6
  26. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  27. package/dist/components/Company/Locations/LocationsList/useLocationsList.d.ts +3 -1
  28. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  29. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js +10 -10
  30. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  31. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js +16 -10
  32. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  33. package/dist/components/Company/PaySchedule/_parts/Edit.js +6 -6
  34. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
  35. package/dist/components/Contractor/ContractorList/index.js +59 -57
  36. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  37. package/dist/components/Contractor/ContractorList/useContractorList.d.ts +3 -1
  38. package/dist/components/Contractor/ContractorList/useContractorList.js +7 -6
  39. package/dist/components/Contractor/ContractorList/useContractorList.js.map +1 -1
  40. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +37 -37
  41. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  42. package/dist/components/Contractor/Profile/ContractorProfileForm.js +11 -11
  43. package/dist/components/Employee/EmployeeList/EmployeeList.js +11 -10
  44. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  45. package/dist/components/Employee/EmployeeList/List.js +45 -43
  46. package/dist/components/Employee/EmployeeList/List.js.map +1 -1
  47. package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +3 -1
  48. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  49. package/dist/components/Flow/Flow.js +44 -24
  50. package/dist/components/Flow/Flow.js.map +1 -1
  51. package/dist/components/Flow/useFlow.d.ts +10 -1
  52. package/dist/components/Flow/useFlow.js.map +1 -1
  53. package/dist/components/Payroll/PayrollBlocker/PayrollBlocker.d.ts +1 -1
  54. package/dist/components/Payroll/PayrollBlocker/PayrollBlocker.js +16 -16
  55. package/dist/components/Payroll/PayrollBlocker/PayrollBlocker.js.map +1 -1
  56. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +20 -20
  57. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  58. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +9 -9
  59. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
  60. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +128 -94
  61. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  62. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -1
  63. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +72 -76
  64. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  65. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +42 -42
  66. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  67. package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -1
  68. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js +20 -19
  69. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  70. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +5 -3
  71. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js +65 -45
  72. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  73. package/dist/components/Payroll/PayrollFlow/index.d.ts +1 -1
  74. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +2 -0
  75. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +233 -96
  76. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  77. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +21 -20
  78. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  79. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +12 -12
  80. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  81. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +8 -9
  82. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  83. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +83 -78
  84. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  85. package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +1 -2
  86. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +41 -45
  87. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  88. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -2
  89. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +118 -119
  90. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  91. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.d.ts +1 -2
  92. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +12 -26
  93. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
  94. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +1 -2
  95. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +40 -44
  96. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  97. package/dist/components/Payroll/helpers.d.ts +2 -0
  98. package/dist/components/Payroll/helpers.js +38 -37
  99. package/dist/components/Payroll/helpers.js.map +1 -1
  100. package/dist/components/Payroll/usePreparedPayrollData.d.ts +4 -1
  101. package/dist/components/Payroll/usePreparedPayrollData.js +24 -18
  102. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  103. package/dist/components/index.d.ts +1 -1
  104. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +41 -39
  105. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  106. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
  107. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  108. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  109. package/dist/helpers/breadcrumbHelpers.d.ts +33 -0
  110. package/dist/helpers/breadcrumbHelpers.js +46 -0
  111. package/dist/helpers/breadcrumbHelpers.js.map +1 -0
  112. package/dist/helpers/breadcrumbHelpers.test.d.ts +1 -0
  113. package/dist/i18n/I18n.d.ts +1 -1
  114. package/dist/i18n/I18n.js +32 -23
  115. package/dist/i18n/I18n.js.map +1 -1
  116. package/dist/i18n/en/Company.PaySchedule.json.js +2 -2
  117. package/dist/i18n/en/Payroll.PayrollBlocker.json.js +28 -0
  118. package/dist/i18n/en/Payroll.PayrollBlocker.json.js.map +1 -0
  119. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +28 -24
  120. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -1
  121. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +28 -26
  122. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -1
  123. package/dist/i18n/en/Payroll.PayrollFlow.json.js +8 -0
  124. package/dist/i18n/en/Payroll.PayrollFlow.json.js.map +1 -0
  125. package/dist/i18n/en/Payroll.PayrollHistory.json.js +9 -9
  126. package/dist/i18n/en/Payroll.PayrollLanding.json.js +2 -2
  127. package/dist/i18n/en/Payroll.PayrollOverview.json.js +60 -56
  128. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  129. package/dist/i18n/en/Payroll.PayrollReceipts.json.js +16 -12
  130. package/dist/i18n/en/Payroll.PayrollReceipts.json.js.map +1 -1
  131. package/dist/index.js +1 -1
  132. package/dist/shared/constants.d.ts +3 -0
  133. package/dist/shared/constants.js +11 -9
  134. package/dist/shared/constants.js.map +1 -1
  135. package/dist/style.css +1 -1
  136. package/dist/types/i18next.d.ts +157 -150
  137. package/package.json +12 -12
  138. package/dist/components/Payroll/RunPayrollFlow/RunPayroll.d.ts +0 -23
  139. package/dist/components/Payroll/RunPayrollFlow/RunPayrollFlow.d.ts +0 -6
  140. package/dist/i18n/en/Payroll.RunPayroll.json.js +0 -8
  141. package/dist/i18n/en/Payroll.RunPayroll.json.js.map +0 -1
  142. package/dist/i18n/en/PayrollBlocker.json.js +0 -24
  143. package/dist/i18n/en/PayrollBlocker.json.js.map +0 -1
@@ -1,59 +1,60 @@
1
- import { jsx as t, jsxs as m } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
2
  import { useTranslation as d } from "react-i18next";
3
- import { useContractorsDeleteMutation as x } from "@gusto/embedded-api/react-query/contractorsDelete";
4
- import { useContractors as w } from "./useContractorList.js";
3
+ import { useContractorsDeleteMutation as w } from "@gusto/embedded-api/react-query/contractorsDelete";
4
+ import { useContractors as H } from "./useContractorList.js";
5
5
  import { Flex as p } from "../../Common/Flex/Flex.js";
6
6
  import "classnames";
7
- import { EmptyData as H } from "../../Common/EmptyData/EmptyData.js";
7
+ import { EmptyData as k } from "../../Common/EmptyData/EmptyData.js";
8
8
  import { ActionsLayout as f } from "../../Common/ActionsLayout/ActionsLayout.js";
9
- import { firstLastName as k } from "../../../helpers/formattedStrings.js";
10
- import { HamburgerMenu as U } from "../../Common/HamburgerMenu/HamburgerMenu.js";
11
- import j from "../../../assets/icons/pencil.svg.js";
9
+ import { firstLastName as U } from "../../../helpers/formattedStrings.js";
10
+ import { HamburgerMenu as j } from "../../Common/HamburgerMenu/HamburgerMenu.js";
11
+ import M from "../../../assets/icons/pencil.svg.js";
12
12
  import { useComponentContext as u } from "../../../contexts/ComponentAdapter/useComponentContext.js";
13
- import { ContractorOnboardingStatusBadge as M } from "../../Common/OnboardingStatusBadge/index.js";
14
- import { useI18n as V } from "../../../i18n/I18n.js";
15
- import { BaseComponent as F } from "../../Base/Base.js";
16
- import { useBase as q } from "../../Base/useBase.js";
17
- import { CONTRACTOR_TYPE as G, componentEvents as l } from "../../../shared/constants.js";
18
- import Y from "../../../assets/icons/trashcan.svg.js";
19
- import { useDataView as z } from "../../Common/DataView/useDataView.js";
20
- import { DataView as J } from "../../Common/DataView/DataView.js";
21
- function K({ count: o, handleAdd: i }) {
13
+ import { ContractorOnboardingStatusBadge as V } from "../../Common/OnboardingStatusBadge/index.js";
14
+ import { useI18n as F } from "../../../i18n/I18n.js";
15
+ import { BaseComponent as q } from "../../Base/Base.js";
16
+ import { useBase as G } from "../../Base/useBase.js";
17
+ import { CONTRACTOR_TYPE as Y, componentEvents as m } from "../../../shared/constants.js";
18
+ import z from "../../../assets/icons/trashcan.svg.js";
19
+ import { useDataView as J } from "../../Common/DataView/useDataView.js";
20
+ import { DataView as K } from "../../Common/DataView/DataView.js";
21
+ function Q({ count: o, handleAdd: i }) {
22
22
  const { Button: r, Heading: a } = u(), { t: n } = d("Contractor.ContractorList");
23
- return /* @__PURE__ */ m(p, { alignItems: "center", justifyContent: "space-between", children: [
23
+ return /* @__PURE__ */ l(p, { alignItems: "center", justifyContent: "space-between", children: [
24
24
  /* @__PURE__ */ t(a, { as: "h2", children: n("title") }),
25
25
  o !== 0 && /* @__PURE__ */ t(r, { variant: "secondary", onClick: i, children: n("addAnotherCTA") })
26
26
  ] });
27
27
  }
28
- function Q({ handleAdd: o }) {
28
+ function W({ handleAdd: o }) {
29
29
  const { Button: i } = u(), { t: r } = d("Contractor.ContractorList");
30
- return /* @__PURE__ */ t(H, { title: r("emptyTableTitle"), description: r("emptyTableDescription"), children: /* @__PURE__ */ t(f, { justifyContent: "center", children: /* @__PURE__ */ t(i, { onClick: o, children: r("addContractorCTA") }) }) });
30
+ return /* @__PURE__ */ t(k, { title: r("emptyTableTitle"), description: r("emptyTableDescription"), children: /* @__PURE__ */ t(f, { justifyContent: "center", children: /* @__PURE__ */ t(i, { onClick: o, children: r("addContractorCTA") }) }) });
31
31
  }
32
- function Tt(o) {
33
- return /* @__PURE__ */ t(F, { ...o, children: /* @__PURE__ */ t(W, { ...o, children: o.children }) });
32
+ function gt(o) {
33
+ return /* @__PURE__ */ t(q, { ...o, children: /* @__PURE__ */ t(X, { ...o, children: o.children }) });
34
34
  }
35
- function W({ companyId: o, className: i, dictionary: r, successMessage: a }) {
36
- V("Contractor.ContractorList");
37
- const { t: n } = d("Contractor.ContractorList"), { onEvent: s, baseSubmitHandler: h } = q(), { Alert: T, Button: g } = u(), {
35
+ function X({ companyId: o, className: i, dictionary: r, successMessage: a }) {
36
+ F("Contractor.ContractorList");
37
+ const { t: n } = d("Contractor.ContractorList"), { onEvent: s, baseSubmitHandler: h } = G(), { Alert: T, Button: g } = u(), {
38
38
  contractors: A,
39
- totalCount: L,
40
- handleNextPage: N,
41
- handleFirstPage: P,
39
+ totalCount: P,
40
+ handleNextPage: L,
41
+ handleFirstPage: N,
42
42
  handleLastPage: b,
43
43
  handlePreviousPage: y,
44
44
  handleItemsPerPageChange: E,
45
45
  currentPage: O,
46
- totalPages: D
47
- } = w({ companyUuid: o }), { mutateAsync: R, isPending: B } = x(), I = z({
46
+ totalPages: D,
47
+ itemsPerPage: R
48
+ } = H({ companyUuid: o }), { mutateAsync: B, isPending: I } = w(), S = J({
48
49
  columns: [
49
50
  {
50
51
  title: n("listHeaders.name"),
51
- render: (e) => e.type === G.BUSINESS ? e.businessName : k({ first_name: e.firstName, last_name: e.lastName })
52
+ render: (e) => e.type === Y.BUSINESS ? e.businessName : U({ first_name: e.firstName, last_name: e.lastName })
52
53
  },
53
54
  {
54
55
  title: n("listHeaders.status"),
55
56
  render: ({ onboarded: e, onboardingStatus: c }) => /* @__PURE__ */ t(
56
- M,
57
+ V,
57
58
  {
58
59
  onboarded: e,
59
60
  onboardingStatus: c
@@ -63,63 +64,64 @@ function W({ companyId: o, className: i, dictionary: r, successMessage: a }) {
63
64
  ],
64
65
  data: A,
65
66
  itemMenu: (e) => /* @__PURE__ */ t(
66
- U,
67
+ j,
67
68
  {
68
69
  items: [
69
70
  {
70
71
  label: n("editCTA"),
71
- icon: /* @__PURE__ */ t(j, { "aria-hidden": !0 }),
72
+ icon: /* @__PURE__ */ t(M, { "aria-hidden": !0 }),
72
73
  onClick: () => {
73
- S(e.uuid);
74
+ _(e.uuid);
74
75
  }
75
76
  },
76
77
  {
77
78
  label: n("deleteCTA"),
78
- icon: /* @__PURE__ */ t(Y, { "aria-hidden": !0 }),
79
+ icon: /* @__PURE__ */ t(z, { "aria-hidden": !0 }),
79
80
  onClick: () => {
80
- v(e.uuid);
81
+ x(e.uuid);
81
82
  }
82
83
  }
83
84
  ],
84
85
  triggerLabel: n("editCTA"),
85
- isLoading: B
86
+ isLoading: I
86
87
  }
87
88
  ),
88
- emptyState: () => /* @__PURE__ */ t(Q, { handleAdd: C }),
89
+ emptyState: () => /* @__PURE__ */ t(W, { handleAdd: C }),
89
90
  pagination: {
90
- handleNextPage: N,
91
- handleFirstPage: P,
91
+ handleNextPage: L,
92
+ handleFirstPage: N,
92
93
  handleLastPage: b,
93
94
  handlePreviousPage: y,
94
95
  handleItemsPerPageChange: E,
95
96
  currentPage: O,
96
- totalPages: D
97
+ totalPages: D,
98
+ itemsPerPage: R
97
99
  }
98
100
  }), C = () => {
99
- s(l.CONTRACTOR_CREATE);
100
- }, S = (e) => {
101
- s(l.CONTRACTOR_UPDATE, { contractorId: e });
102
- }, _ = () => {
103
- s(l.CONTRACTOR_ONBOARDING_CONTINUE);
104
- }, v = async (e) => {
101
+ s(m.CONTRACTOR_CREATE);
102
+ }, _ = (e) => {
103
+ s(m.CONTRACTOR_UPDATE, { contractorId: e });
104
+ }, v = () => {
105
+ s(m.CONTRACTOR_ONBOARDING_CONTINUE);
106
+ }, x = async (e) => {
105
107
  await h(e, async (c) => {
106
- await R({
108
+ await B({
107
109
  request: { contractorUuid: c }
108
- }), s(l.CONTRACTOR_DELETED, { contractorId: c });
110
+ }), s(m.CONTRACTOR_DELETED, { contractorId: c });
109
111
  });
110
112
  };
111
- return /* @__PURE__ */ m("section", { className: i, children: [
113
+ return /* @__PURE__ */ l("section", { className: i, children: [
112
114
  a && /* @__PURE__ */ t(T, { label: a, status: "success" }),
113
- /* @__PURE__ */ m(p, { flexDirection: "column", children: [
114
- /* @__PURE__ */ t(K, { count: L, handleAdd: C }),
115
- /* @__PURE__ */ t(J, { label: n("contractorListLabel"), ...I }),
116
- /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(g, { onClick: _, isLoading: !1, children: n("continueCta") }) })
115
+ /* @__PURE__ */ l(p, { flexDirection: "column", children: [
116
+ /* @__PURE__ */ t(Q, { count: P, handleAdd: C }),
117
+ /* @__PURE__ */ t(K, { label: n("contractorListLabel"), ...S }),
118
+ /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(g, { onClick: v, isLoading: !1, children: n("continueCta") }) })
117
119
  ] })
118
120
  ] });
119
121
  }
120
122
  export {
121
- Tt as ContractorList,
122
- Q as EmptyDataContractorsList,
123
- K as Head
123
+ gt as ContractorList,
124
+ W as EmptyDataContractorsList,
125
+ Q as Head
124
126
  };
125
127
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Contractor/ContractorList/index.tsx"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useTranslation } from 'react-i18next'\nimport { useContractorsDeleteMutation } from '@gusto/embedded-api/react-query/contractorsDelete'\nimport { useContractors } from './useContractorList'\nimport { ActionsLayout, DataView, EmptyData, Flex, useDataView } from '@/components/Common'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport { useI18n } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, CONTRACTOR_TYPE } from '@/shared/constants'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\n\nexport interface HeadProps {\n count: number\n handleAdd: () => void\n}\nexport function Head({ count, handleAdd }: HeadProps) {\n const { Button, Heading } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Heading as=\"h2\">{t('title')}</Heading>\n\n {count !== 0 && (\n <Button variant=\"secondary\" onClick={handleAdd}>\n {t('addAnotherCTA')}\n </Button>\n )}\n </Flex>\n )\n}\n\nexport interface EmptyDataContractorsListProps {\n handleAdd: () => void\n}\nexport function EmptyDataContractorsList({ handleAdd }: EmptyDataContractorsListProps) {\n const { Button } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Button onClick={handleAdd}>{t('addContractorCTA')}</Button>\n </ActionsLayout>\n </EmptyData>\n )\n}\n\nexport interface ContractorListProps extends CommonComponentInterface<'Contractor.ContractorList'> {\n companyId: string\n successMessage?: string\n}\n\nexport function ContractorList(props: ContractorListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, className, dictionary, successMessage }: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n const { onEvent, baseSubmitHandler } = useBase()\n const { Alert, Button } = useComponentContext()\n const {\n contractors,\n totalCount,\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n } = useContractors({ companyUuid: companyId })\n const { mutateAsync: deleteContractorMutation, isPending: isPendingDelete } =\n useContractorsDeleteMutation()\n\n const dataViewProps = useDataView<Contractor>({\n columns: [\n {\n title: t('listHeaders.name'),\n render: contractor =>\n contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName }),\n },\n {\n title: t('listHeaders.status'),\n render: ({ onboarded, onboardingStatus }) => (\n <ContractorOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n data: contractors,\n itemMenu: contractor => (\n <HamburgerMenu\n items={[\n {\n label: t('editCTA'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(contractor.uuid)\n },\n },\n {\n label: t('deleteCTA'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n void handleDelete(contractor.uuid)\n },\n },\n ]}\n triggerLabel={t('editCTA')}\n isLoading={isPendingDelete}\n />\n ),\n emptyState: () => <EmptyDataContractorsList handleAdd={handleAdd} />,\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n },\n })\n\n const handleAdd = () => {\n onEvent(componentEvents.CONTRACTOR_CREATE)\n }\n\n const handleEdit = (uuid: string) => {\n onEvent(componentEvents.CONTRACTOR_UPDATE, { contractorId: uuid })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.CONTRACTOR_ONBOARDING_CONTINUE)\n }\n\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteContractorMutation({\n request: { contractorUuid: payload },\n })\n\n onEvent(componentEvents.CONTRACTOR_DELETED, { contractorId: payload })\n })\n }\n\n return (\n <section className={className}>\n {successMessage && <Alert label={successMessage} status=\"success\" />}\n <Flex flexDirection=\"column\">\n <Head count={totalCount} handleAdd={handleAdd} />\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n <ActionsLayout>\n <Button onClick={handleContinue} isLoading={false}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["Head","count","handleAdd","Button","Heading","useComponentContext","t","useTranslation","jsxs","Flex","jsx","EmptyDataContractorsList","EmptyData","ActionsLayout","ContractorList","props","BaseComponent","Root","companyId","className","dictionary","successMessage","useI18n","onEvent","baseSubmitHandler","useBase","Alert","contractors","totalCount","handleNextPage","handleFirstPage","handleLastPage","handlePreviousPage","handleItemsPerPageChange","currentPage","totalPages","useContractors","deleteContractorMutation","isPendingDelete","useContractorsDeleteMutation","dataViewProps","useDataView","contractor","CONTRACTOR_TYPE","firstLastName","onboarded","onboardingStatus","ContractorOnboardingStatusBadge","HamburgerMenu","PencilSvg","handleEdit","TrashCanSvg","handleDelete","componentEvents","uuid","handleContinue","payload","DataView"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Contractor/ContractorList/index.tsx"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useTranslation } from 'react-i18next'\nimport { useContractorsDeleteMutation } from '@gusto/embedded-api/react-query/contractorsDelete'\nimport { useContractors } from './useContractorList'\nimport { ActionsLayout, DataView, EmptyData, Flex, useDataView } from '@/components/Common'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport { useI18n } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, CONTRACTOR_TYPE } from '@/shared/constants'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\n\nexport interface HeadProps {\n count: number\n handleAdd: () => void\n}\nexport function Head({ count, handleAdd }: HeadProps) {\n const { Button, Heading } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Heading as=\"h2\">{t('title')}</Heading>\n\n {count !== 0 && (\n <Button variant=\"secondary\" onClick={handleAdd}>\n {t('addAnotherCTA')}\n </Button>\n )}\n </Flex>\n )\n}\n\nexport interface EmptyDataContractorsListProps {\n handleAdd: () => void\n}\nexport function EmptyDataContractorsList({ handleAdd }: EmptyDataContractorsListProps) {\n const { Button } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Button onClick={handleAdd}>{t('addContractorCTA')}</Button>\n </ActionsLayout>\n </EmptyData>\n )\n}\n\nexport interface ContractorListProps extends CommonComponentInterface<'Contractor.ContractorList'> {\n companyId: string\n successMessage?: string\n}\n\nexport function ContractorList(props: ContractorListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, className, dictionary, successMessage }: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n const { onEvent, baseSubmitHandler } = useBase()\n const { Alert, Button } = useComponentContext()\n const {\n contractors,\n totalCount,\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n itemsPerPage,\n } = useContractors({ companyUuid: companyId })\n const { mutateAsync: deleteContractorMutation, isPending: isPendingDelete } =\n useContractorsDeleteMutation()\n\n const dataViewProps = useDataView<Contractor>({\n columns: [\n {\n title: t('listHeaders.name'),\n render: contractor =>\n contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName }),\n },\n {\n title: t('listHeaders.status'),\n render: ({ onboarded, onboardingStatus }) => (\n <ContractorOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n data: contractors,\n itemMenu: contractor => (\n <HamburgerMenu\n items={[\n {\n label: t('editCTA'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(contractor.uuid)\n },\n },\n {\n label: t('deleteCTA'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n void handleDelete(contractor.uuid)\n },\n },\n ]}\n triggerLabel={t('editCTA')}\n isLoading={isPendingDelete}\n />\n ),\n emptyState: () => <EmptyDataContractorsList handleAdd={handleAdd} />,\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n itemsPerPage,\n },\n })\n\n const handleAdd = () => {\n onEvent(componentEvents.CONTRACTOR_CREATE)\n }\n\n const handleEdit = (uuid: string) => {\n onEvent(componentEvents.CONTRACTOR_UPDATE, { contractorId: uuid })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.CONTRACTOR_ONBOARDING_CONTINUE)\n }\n\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteContractorMutation({\n request: { contractorUuid: payload },\n })\n\n onEvent(componentEvents.CONTRACTOR_DELETED, { contractorId: payload })\n })\n }\n\n return (\n <section className={className}>\n {successMessage && <Alert label={successMessage} status=\"success\" />}\n <Flex flexDirection=\"column\">\n <Head count={totalCount} handleAdd={handleAdd} />\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n <ActionsLayout>\n <Button onClick={handleContinue} isLoading={false}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["Head","count","handleAdd","Button","Heading","useComponentContext","t","useTranslation","jsxs","Flex","jsx","EmptyDataContractorsList","EmptyData","ActionsLayout","ContractorList","props","BaseComponent","Root","companyId","className","dictionary","successMessage","useI18n","onEvent","baseSubmitHandler","useBase","Alert","contractors","totalCount","handleNextPage","handleFirstPage","handleLastPage","handlePreviousPage","handleItemsPerPageChange","currentPage","totalPages","itemsPerPage","useContractors","deleteContractorMutation","isPendingDelete","useContractorsDeleteMutation","dataViewProps","useDataView","contractor","CONTRACTOR_TYPE","firstLastName","onboarded","onboardingStatus","ContractorOnboardingStatusBadge","HamburgerMenu","PencilSvg","handleEdit","TrashCanSvg","handleDelete","componentEvents","uuid","handleContinue","payload","DataView"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Contractor } from '@gusto/embedded-api/models/components/contractor';
2
+ import { PaginationItemsPerPage } from '../../Common/PaginationControl/PaginationControlTypes';
2
3
  export interface ContractorListContext {
3
4
  contractors: Contractor[];
4
5
  }
@@ -9,10 +10,11 @@ export declare function useContractors({ companyUuid }: useContractorsArgs): {
9
10
  contractors: Contractor[];
10
11
  currentPage: number;
11
12
  handleFirstPage: () => void;
12
- handleItemsPerPageChange: import('react').Dispatch<import('react').SetStateAction<number>>;
13
+ handleItemsPerPageChange: import('react').Dispatch<import('react').SetStateAction<PaginationItemsPerPage>>;
13
14
  handleLastPage: () => void;
14
15
  handleNextPage: () => void;
15
16
  handlePreviousPage: () => void;
16
17
  totalCount: number;
17
18
  totalPages: number;
19
+ itemsPerPage: PaginationItemsPerPage;
18
20
  };
@@ -1,9 +1,9 @@
1
1
  import { useContractorsListSuspense as u } from "@gusto/embedded-api/react-query/contractorsList";
2
- import { useState as o } from "react";
3
- function C({ companyUuid: r }) {
4
- const [s, e] = o(1), [g, P] = o(5), {
5
- data: { httpMeta: n, contractorList: c }
6
- } = u({ companyUuid: r, page: s, per: g }), t = Number(n.response.headers.get("x-total-pages") ?? 1), h = Number(n.response.headers.get("x-total-count") ?? 1);
2
+ import { useState as r } from "react";
3
+ function C({ companyUuid: g }) {
4
+ const [s, e] = r(1), [n, P] = r(5), {
5
+ data: { httpMeta: o, contractorList: c }
6
+ } = u({ companyUuid: g, page: s, per: n }), t = Number(o.response.headers.get("x-total-pages") ?? 1), h = Number(o.response.headers.get("x-total-count") ?? 1);
7
7
  return {
8
8
  contractors: c,
9
9
  currentPage: s,
@@ -21,7 +21,8 @@ function C({ companyUuid: r }) {
21
21
  e((a) => Math.max(a - 1, 1));
22
22
  },
23
23
  totalCount: h,
24
- totalPages: t
24
+ totalPages: t,
25
+ itemsPerPage: n
25
26
  };
26
27
  }
27
28
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"useContractorList.js","sources":["../../../../src/components/Contractor/ContractorList/useContractorList.ts"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useState } from 'react'\n\nexport interface ContractorListContext {\n contractors: Contractor[]\n}\n\nexport interface useContractorsArgs {\n companyUuid: string\n}\n\nexport function useContractors({ companyUuid }: useContractorsArgs) {\n const [currentPage, setCurrentPage] = useState(1)\n const [itemsPerPage, setItemsPerPage] = useState(5)\n\n const {\n data: { httpMeta, contractorList: contractors },\n } = useContractorsListSuspense({ companyUuid, page: currentPage, per: itemsPerPage })\n const totalPages = Number(httpMeta.response.headers.get('x-total-pages') ?? 1)\n const totalCount = Number(httpMeta.response.headers.get('x-total-count') ?? 1)\n\n const handleFirstPage = () => {\n setCurrentPage(1)\n }\n const handleLastPage = () => {\n setCurrentPage(totalPages)\n }\n const handleNextPage = () => {\n setCurrentPage(prevPage => Math.min(prevPage + 1, totalPages))\n }\n const handlePreviousPage = () => {\n setCurrentPage(prevPage => Math.max(prevPage - 1, 1))\n }\n\n return {\n contractors: contractors!,\n currentPage,\n handleFirstPage,\n handleItemsPerPageChange: setItemsPerPage,\n handleLastPage,\n handleNextPage,\n handlePreviousPage,\n totalCount,\n totalPages,\n }\n}\n"],"names":["useContractors","companyUuid","currentPage","setCurrentPage","useState","itemsPerPage","setItemsPerPage","httpMeta","contractors","useContractorsListSuspense","totalPages","totalCount","prevPage"],"mappings":";;AAYO,SAASA,EAAe,EAAE,aAAAC,KAAmC;AAClE,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC,GAC1C,CAACC,GAAcC,CAAe,IAAIF,EAAS,CAAC,GAE5C;AAAA,IACJ,MAAM,EAAE,UAAAG,GAAU,gBAAgBC,EAAA;AAAA,EAAY,IAC5CC,EAA2B,EAAE,aAAAR,GAAa,MAAMC,GAAa,KAAKG,GAAc,GAC9EK,IAAa,OAAOH,EAAS,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC,GACvEI,IAAa,OAAOJ,EAAS,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC;AAe7E,SAAO;AAAA,IACL,aAAAC;AAAA,IACA,aAAAN;AAAA,IACA,iBAhBsB,MAAM;AAC5B,MAAAC,EAAe,CAAC;AAAA,IAClB;AAAA,IAeE,0BAA0BG;AAAA,IAC1B,gBAfqB,MAAM;AAC3B,MAAAH,EAAeO,CAAU;AAAA,IAC3B;AAAA,IAcE,gBAbqB,MAAM;AAC3B,MAAAP,EAAe,OAAY,KAAK,IAAIS,IAAW,GAAGF,CAAU,CAAC;AAAA,IAC/D;AAAA,IAYE,oBAXyB,MAAM;AAC/B,MAAAP,EAAe,OAAY,KAAK,IAAIS,IAAW,GAAG,CAAC,CAAC;AAAA,IACtD;AAAA,IAUE,YAAAD;AAAA,IACA,YAAAD;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useContractorList.js","sources":["../../../../src/components/Contractor/ContractorList/useContractorList.ts"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useState } from 'react'\nimport type { PaginationItemsPerPage } from '@/components/Common/PaginationControl/PaginationControlTypes'\n\nexport interface ContractorListContext {\n contractors: Contractor[]\n}\n\nexport interface useContractorsArgs {\n companyUuid: string\n}\n\nexport function useContractors({ companyUuid }: useContractorsArgs) {\n const [currentPage, setCurrentPage] = useState(1)\n const [itemsPerPage, setItemsPerPage] = useState<PaginationItemsPerPage>(5)\n\n const {\n data: { httpMeta, contractorList: contractors },\n } = useContractorsListSuspense({ companyUuid, page: currentPage, per: itemsPerPage })\n const totalPages = Number(httpMeta.response.headers.get('x-total-pages') ?? 1)\n const totalCount = Number(httpMeta.response.headers.get('x-total-count') ?? 1)\n\n const handleFirstPage = () => {\n setCurrentPage(1)\n }\n const handleLastPage = () => {\n setCurrentPage(totalPages)\n }\n const handleNextPage = () => {\n setCurrentPage(prevPage => Math.min(prevPage + 1, totalPages))\n }\n const handlePreviousPage = () => {\n setCurrentPage(prevPage => Math.max(prevPage - 1, 1))\n }\n\n return {\n contractors: contractors!,\n currentPage,\n handleFirstPage,\n handleItemsPerPageChange: setItemsPerPage,\n handleLastPage,\n handleNextPage,\n handlePreviousPage,\n totalCount,\n totalPages,\n itemsPerPage,\n }\n}\n"],"names":["useContractors","companyUuid","currentPage","setCurrentPage","useState","itemsPerPage","setItemsPerPage","httpMeta","contractors","useContractorsListSuspense","totalPages","totalCount","prevPage"],"mappings":";;AAaO,SAASA,EAAe,EAAE,aAAAC,KAAmC;AAClE,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC,GAC1C,CAACC,GAAcC,CAAe,IAAIF,EAAiC,CAAC,GAEpE;AAAA,IACJ,MAAM,EAAE,UAAAG,GAAU,gBAAgBC,EAAA;AAAA,EAAY,IAC5CC,EAA2B,EAAE,aAAAR,GAAa,MAAMC,GAAa,KAAKG,GAAc,GAC9EK,IAAa,OAAOH,EAAS,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC,GACvEI,IAAa,OAAOJ,EAAS,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC;AAe7E,SAAO;AAAA,IACL,aAAAC;AAAA,IACA,aAAAN;AAAA,IACA,iBAhBsB,MAAM;AAC5B,MAAAC,EAAe,CAAC;AAAA,IAClB;AAAA,IAeE,0BAA0BG;AAAA,IAC1B,gBAfqB,MAAM;AAC3B,MAAAH,EAAeO,CAAU;AAAA,IAC3B;AAAA,IAcE,gBAbqB,MAAM;AAC3B,MAAAP,EAAe,OAAY,KAAK,IAAIS,IAAW,GAAGF,CAAU,CAAC;AAAA,IAC/D;AAAA,IAYE,oBAXyB,MAAM;AAC/B,MAAAP,EAAe,OAAY,KAAK,IAAIS,IAAW,GAAG,CAAC,CAAC;AAAA,IACtD;AAAA,IAUE,YAAAD;AAAA,IACA,YAAAD;AAAA,IACA,cAAAL;AAAA,EAAA;AAEJ;"}
@@ -1,57 +1,57 @@
1
- import { state as s, transition as o, reduce as r, guard as p } from "robot3";
1
+ import { state as a, transition as r, reduce as o, guard as p } from "robot3";
2
2
  import { ContractorListContextual as l, AddressContextual as u, NewHireReportContextual as d, ProfileContextual as i, SubmitContextual as O, PaymentMethodContextual as R } from "./OnboardingFlowComponents.js";
3
3
  import { componentEvents as n } from "../../../shared/constants.js";
4
4
  const c = (t) => (e) => ({
5
5
  ...e,
6
6
  ...t
7
- }), a = () => o(
7
+ }), s = () => r(
8
8
  n.CANCEL,
9
9
  "list",
10
- r(
10
+ o(
11
11
  c({
12
12
  component: l,
13
- showProgress: !1,
13
+ progressBarType: null,
14
14
  currentStep: 0,
15
15
  contractorId: void 0,
16
16
  successMessage: void 0
17
17
  })
18
18
  )
19
- ), E = {
20
- list: s(
21
- o(
19
+ ), g = {
20
+ list: a(
21
+ r(
22
22
  n.CONTRACTOR_CREATE,
23
23
  "profile",
24
- r(
24
+ o(
25
25
  c({
26
26
  component: i,
27
27
  currentStep: 1,
28
- showProgress: !0,
28
+ progressBarType: "progress",
29
29
  contractorId: void 0,
30
30
  successMessage: void 0
31
31
  })
32
32
  )
33
33
  ),
34
- o(
34
+ r(
35
35
  n.CONTRACTOR_UPDATE,
36
36
  "profile",
37
- r(
37
+ o(
38
38
  (t, e) => ({
39
39
  ...t,
40
40
  component: i,
41
41
  currentStep: 1,
42
- showProgress: !0,
42
+ progressBarType: "progress",
43
43
  contractorId: e.payload.contractorId,
44
44
  successMessage: void 0
45
45
  })
46
46
  )
47
47
  )
48
48
  ),
49
- profile: s(
50
- a(),
51
- o(
49
+ profile: a(
50
+ s(),
51
+ r(
52
52
  n.CONTRACTOR_PROFILE_DONE,
53
53
  "address",
54
- r(
54
+ o(
55
55
  (t, e) => ({
56
56
  ...t,
57
57
  component: u,
@@ -63,10 +63,10 @@ const c = (t) => (e) => ({
63
63
  p((t, e) => !e.payload.selfOnboarding)
64
64
  // Only allow transition to address if not self-onboarding
65
65
  ),
66
- o(
66
+ r(
67
67
  n.CONTRACTOR_PROFILE_DONE,
68
68
  "newHireReport",
69
- r(
69
+ o(
70
70
  (t, e) => ({
71
71
  ...t,
72
72
  component: d,
@@ -80,20 +80,20 @@ const c = (t) => (e) => ({
80
80
  // Only allow transition to new hire report if self-onboarding
81
81
  )
82
82
  ),
83
- address: s(
84
- a(),
85
- o(
83
+ address: a(
84
+ s(),
85
+ r(
86
86
  n.CONTRACTOR_ADDRESS_DONE,
87
87
  "paymentMethod",
88
- r(c({ component: R, currentStep: 3 }))
88
+ o(c({ component: R, currentStep: 3 }))
89
89
  )
90
90
  ),
91
- paymentMethod: s(
92
- a(),
93
- o(
91
+ paymentMethod: a(
92
+ s(),
93
+ r(
94
94
  n.CONTRACTOR_PAYMENT_METHOD_DONE,
95
95
  "newHireReport",
96
- r(
96
+ o(
97
97
  c({
98
98
  component: d,
99
99
  currentStep: 4
@@ -101,12 +101,12 @@ const c = (t) => (e) => ({
101
101
  )
102
102
  )
103
103
  ),
104
- newHireReport: s(
105
- a(),
106
- o(
104
+ newHireReport: a(
105
+ s(),
106
+ r(
107
107
  n.CONTRACTOR_NEW_HIRE_REPORT_DONE,
108
108
  "submit",
109
- r(
109
+ o(
110
110
  c({
111
111
  component: O,
112
112
  currentStep: 5
@@ -114,25 +114,25 @@ const c = (t) => (e) => ({
114
114
  )
115
115
  )
116
116
  ),
117
- submit: s(
118
- a(),
119
- o(
117
+ submit: a(
118
+ s(),
119
+ r(
120
120
  n.CONTRACTOR_SUBMIT_DONE,
121
121
  "list",
122
- r(
122
+ o(
123
123
  (t, e) => ({
124
124
  ...t,
125
125
  component: l,
126
126
  currentStep: 0,
127
- showProgress: !1,
127
+ progressBarType: null,
128
128
  successMessage: e.payload.message
129
129
  })
130
130
  )
131
131
  )
132
132
  ),
133
- final: s()
133
+ final: a()
134
134
  };
135
135
  export {
136
- E as onboardingMachine
136
+ g as onboardingMachine
137
137
  };
138
138
  //# sourceMappingURL=onboardingStateMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboardingStateMachine.js","sources":["../../../../src/components/Contractor/OnboardingFlow/onboardingStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport {\n AddressContextual,\n ContractorListContextual,\n NewHireReportContextual,\n PaymentMethodContextual,\n ProfileContextual,\n SubmitContextual,\n type OnboardingFlowContextInterface,\n} from './OnboardingFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\ntype EventPayloads = {\n [componentEvents.CONTRACTOR_UPDATE]: {\n contractorId: string\n }\n [componentEvents.CONTRACTOR_PROFILE_DONE]: { contractorId: string; selfOnboarding: boolean }\n [componentEvents.CONTRACTOR_SUBMIT_DONE]: { message?: string }\n}\n\nconst createReducer = (props: Partial<OnboardingFlowContextInterface>) => {\n return (ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n ...props,\n })\n}\nconst cancelTransition = () =>\n transition(\n componentEvents.CANCEL,\n 'list',\n reduce(\n createReducer({\n component: ContractorListContextual,\n showProgress: false,\n currentStep: 0,\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\n )\n\nexport const onboardingMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_CREATE,\n 'profile',\n reduce(\n createReducer({\n component: ProfileContextual,\n currentStep: 1,\n showProgress: true,\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\n ),\n transition(\n componentEvents.CONTRACTOR_UPDATE,\n 'profile',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_UPDATE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ProfileContextual,\n currentStep: 1,\n showProgress: true,\n contractorId: ev.payload.contractorId,\n successMessage: undefined,\n }\n },\n ),\n ),\n ),\n profile: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'address',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: AddressContextual,\n currentStep: 2,\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n }\n },\n ),\n guard((ctx, ev) => !ev.payload.selfOnboarding), // Only allow transition to address if not self-onboarding\n ),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'newHireReport',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: NewHireReportContextual,\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n currentStep: 2,\n totalSteps: 3,\n }\n },\n ),\n guard((ctx, ev) => ev.payload.selfOnboarding), // Only allow transition to new hire report if self-onboarding\n ),\n ),\n address: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_ADDRESS_DONE,\n 'paymentMethod',\n reduce(createReducer({ component: PaymentMethodContextual, currentStep: 3 })),\n ),\n ),\n paymentMethod: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_METHOD_DONE,\n 'newHireReport',\n reduce(\n createReducer({\n component: NewHireReportContextual,\n currentStep: 4,\n }),\n ),\n ),\n ),\n newHireReport: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_NEW_HIRE_REPORT_DONE,\n 'submit',\n reduce(\n createReducer({\n component: SubmitContextual,\n currentStep: 5,\n }),\n ),\n ),\n ),\n submit: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_SUBMIT_DONE,\n 'list',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_SUBMIT_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ContractorListContextual,\n currentStep: 0,\n showProgress: false,\n successMessage: ev.payload.message,\n }\n },\n ),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["createReducer","props","ctx","cancelTransition","transition","componentEvents","reduce","ContractorListContextual","onboardingMachine","state","ProfileContextual","ev","AddressContextual","guard","NewHireReportContextual","PaymentMethodContextual","SubmitContextual"],"mappings":"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"}
1
+ {"version":3,"file":"onboardingStateMachine.js","sources":["../../../../src/components/Contractor/OnboardingFlow/onboardingStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport {\n AddressContextual,\n ContractorListContextual,\n NewHireReportContextual,\n PaymentMethodContextual,\n ProfileContextual,\n SubmitContextual,\n type OnboardingFlowContextInterface,\n} from './OnboardingFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\ntype EventPayloads = {\n [componentEvents.CONTRACTOR_UPDATE]: {\n contractorId: string\n }\n [componentEvents.CONTRACTOR_PROFILE_DONE]: { contractorId: string; selfOnboarding: boolean }\n [componentEvents.CONTRACTOR_SUBMIT_DONE]: { message?: string }\n}\n\nconst createReducer = (props: Partial<OnboardingFlowContextInterface>) => {\n return (ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n ...props,\n })\n}\nconst cancelTransition = () =>\n transition(\n componentEvents.CANCEL,\n 'list',\n reduce(\n createReducer({\n component: ContractorListContextual,\n progressBarType: null,\n currentStep: 0,\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\n )\n\nexport const onboardingMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_CREATE,\n 'profile',\n reduce(\n createReducer({\n component: ProfileContextual,\n currentStep: 1,\n progressBarType: 'progress',\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\n ),\n transition(\n componentEvents.CONTRACTOR_UPDATE,\n 'profile',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_UPDATE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ProfileContextual,\n currentStep: 1,\n progressBarType: 'progress',\n contractorId: ev.payload.contractorId,\n successMessage: undefined,\n }\n },\n ),\n ),\n ),\n profile: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'address',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: AddressContextual,\n currentStep: 2,\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n }\n },\n ),\n guard((ctx, ev) => !ev.payload.selfOnboarding), // Only allow transition to address if not self-onboarding\n ),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'newHireReport',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: NewHireReportContextual,\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n currentStep: 2,\n totalSteps: 3,\n }\n },\n ),\n guard((ctx, ev) => ev.payload.selfOnboarding), // Only allow transition to new hire report if self-onboarding\n ),\n ),\n address: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_ADDRESS_DONE,\n 'paymentMethod',\n reduce(createReducer({ component: PaymentMethodContextual, currentStep: 3 })),\n ),\n ),\n paymentMethod: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_METHOD_DONE,\n 'newHireReport',\n reduce(\n createReducer({\n component: NewHireReportContextual,\n currentStep: 4,\n }),\n ),\n ),\n ),\n newHireReport: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_NEW_HIRE_REPORT_DONE,\n 'submit',\n reduce(\n createReducer({\n component: SubmitContextual,\n currentStep: 5,\n }),\n ),\n ),\n ),\n submit: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_SUBMIT_DONE,\n 'list',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_SUBMIT_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ContractorListContextual,\n currentStep: 0,\n progressBarType: null,\n successMessage: ev.payload.message,\n }\n },\n ),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["createReducer","props","ctx","cancelTransition","transition","componentEvents","reduce","ContractorListContextual","onboardingMachine","state","ProfileContextual","ev","AddressContextual","guard","NewHireReportContextual","PaymentMethodContextual","SubmitContextual"],"mappings":"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"}
@@ -6,13 +6,13 @@ import { useComponentContext as D } from "../../../contexts/ComponentAdapter/use
6
6
  import { useI18n as I } from "../../../i18n/I18n.js";
7
7
  import { Form as O } from "../../Common/Form/Form.js";
8
8
  import { Grid as n } from "../../Common/Grid/Grid.js";
9
- import { Flex as x } from "../../Common/Flex/Flex.js";
10
- import { usePlaceholderSSN as w, normalizeSSN as E } from "../../../helpers/ssn.js";
11
- import { usePlaceholderEin as j, normalizeEin as v } from "../../../helpers/federalEin.js";
12
- import { ContractorOnboardingStatus as G } from "../../../shared/constants.js";
9
+ import { usePlaceholderSSN as x, normalizeSSN as w } from "../../../helpers/ssn.js";
10
+ import { usePlaceholderEin as E, normalizeEin as j } from "../../../helpers/federalEin.js";
11
+ import { ContractorOnboardingStatus as v } from "../../../shared/constants.js";
13
12
  import { TextInputField as l } from "../../Common/Fields/TextInputField/TextInputField.js";
14
13
  import { RadioGroupField as d } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
15
- import { NumberInputField as z } from "../../Common/Fields/NumberInputField/NumberInputField.js";
14
+ import { NumberInputField as G } from "../../Common/Fields/NumberInputField/NumberInputField.js";
15
+ import { Flex as z } from "../../Common/Flex/Flex.js";
16
16
  import { SwitchField as A } from "../../Common/Fields/SwitchField/SwitchField.js";
17
17
  import { DatePickerField as B } from "../../Common/Fields/DatePickerField/DatePickerField.js";
18
18
  function re({
@@ -33,7 +33,7 @@ function re({
33
33
  }) {
34
34
  const a = D();
35
35
  I("Contractor.Profile");
36
- const { t: e } = T("Contractor.Profile"), q = w(t?.hasSsn ?? !1), P = j(t?.hasEin ?? !1);
36
+ const { t: e } = T("Contractor.Profile"), q = x(t?.hasSsn ?? !1), P = E(t?.hasEin ?? !1);
37
37
  return /* @__PURE__ */ i("section", { className: F, children: /* @__PURE__ */ i(S, { ...u, children: /* @__PURE__ */ r(O, { onSubmit: f, children: [
38
38
  /* @__PURE__ */ r(n, { gridTemplateColumns: "1fr", gap: 24, className: "mb-8", children: [
39
39
  /* @__PURE__ */ r("header", { children: [
@@ -47,7 +47,7 @@ function re({
47
47
  name: "selfOnboarding",
48
48
  label: e("fields.selfOnboarding.label"),
49
49
  description: e("fields.selfOnboarding.description"),
50
- isDisabled: t && t.onboardingStatus !== G.ADMIN_ONBOARDING_INCOMPLETE
50
+ isDisabled: t && t.onboardingStatus !== v.ADMIN_ONBOARDING_INCOMPLETE
51
51
  }
52
52
  ),
53
53
  p && /* @__PURE__ */ i(
@@ -81,7 +81,7 @@ function re({
81
81
  name: "ssn",
82
82
  label: e("fields.ssn.label"),
83
83
  placeholder: q,
84
- transform: E,
84
+ transform: w,
85
85
  isRequired: !0
86
86
  }
87
87
  )
@@ -101,7 +101,7 @@ function re({
101
101
  name: "ein",
102
102
  label: e("fields.ein.label"),
103
103
  placeholder: P,
104
- transform: v,
104
+ transform: j,
105
105
  isRequired: !0
106
106
  }
107
107
  )
@@ -116,7 +116,7 @@ function re({
116
116
  }
117
117
  ),
118
118
  h && /* @__PURE__ */ i(
119
- z,
119
+ G,
120
120
  {
121
121
  name: "hourlyRate",
122
122
  label: e("fields.hourlyRate.label"),
@@ -135,7 +135,7 @@ function re({
135
135
  }
136
136
  )
137
137
  ] }),
138
- /* @__PURE__ */ i(x, { gap: 12, justifyContent: "flex-end", children: /* @__PURE__ */ i(a.Button, { type: "submit", variant: "primary", isDisabled: o.isSubmitting, children: o.isSubmitting ? e(s ? "buttons.updating" : "buttons.creating") : e(s ? "buttons.update" : "buttons.create") }) })
138
+ /* @__PURE__ */ i(z, { gap: 12, justifyContent: "flex-end", children: /* @__PURE__ */ i(a.Button, { type: "submit", variant: "primary", isDisabled: o.isSubmitting, children: o.isSubmitting ? e(s ? "buttons.updating" : "buttons.creating") : e(s ? "buttons.update" : "buttons.create") }) })
139
139
  ] }) }) });
140
140
  }
141
141
  export {
@@ -1,5 +1,5 @@
1
1
  import { jsx as o, jsxs as C } from "react/jsx-runtime";
2
- import { useState as y } from "react";
2
+ import { useState as h } from "react";
3
3
  import { useEmployeesList as G } from "@gusto/embedded-api/react-query/employeesList";
4
4
  import { useEmployeesDeleteMutation as F } from "@gusto/embedded-api/react-query/employeesDelete";
5
5
  import { useEmployeesUpdateOnboardingStatusMutation as Y } from "@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus";
@@ -18,19 +18,19 @@ import { useFlow as X } from "../../Flow/useFlow.js";
18
18
  function Z(n) {
19
19
  return /* @__PURE__ */ o(q, { ...n, children: /* @__PURE__ */ o($, { ...n, children: n.children }) });
20
20
  }
21
- function $({ companyId: n, className: m, children: l, dictionary: h }) {
22
- z("Employee.EmployeeList"), J("Employee.EmployeeList", h);
23
- const { onEvent: a, baseSubmitHandler: r } = j(), [p, i] = y(1), [P, g] = y(5), { data: u, fetchStatus: f, isFetching: O } = G(
21
+ function $({ companyId: n, className: m, children: l, dictionary: P }) {
22
+ z("Employee.EmployeeList"), J("Employee.EmployeeList", P);
23
+ const { onEvent: a, baseSubmitHandler: r } = j(), [p, i] = h(1), [u, g] = h(5), { data: d, fetchStatus: f, isFetching: O } = G(
24
24
  {
25
25
  companyId: n,
26
26
  page: p,
27
- per: P
27
+ per: u
28
28
  },
29
29
  { placeholderData: U }
30
30
  ), { mutateAsync: D } = F(), { mutateAsync: I } = Y();
31
- if (f === "fetching" && !u)
31
+ if (f === "fetching" && !d)
32
32
  return /* @__PURE__ */ o(V, {});
33
- const { httpMeta: N, showEmployees: A } = u, L = A, c = Number(N.response.headers.get("x-total-pages") ?? 1), _ = (e) => {
33
+ const { httpMeta: N, showEmployees: A } = d, L = A, c = Number(N.response.headers.get("x-total-pages") ?? 1), _ = (e) => {
34
34
  g(e);
35
35
  }, M = () => {
36
36
  i(1);
@@ -48,7 +48,7 @@ function $({ companyId: n, className: m, children: l, dictionary: h }) {
48
48
  });
49
49
  }, T = async (e) => {
50
50
  await r(e, async (t) => {
51
- await d({
51
+ await y({
52
52
  employeeId: t,
53
53
  status: E.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW
54
54
  }), a(s.EMPLOYEE_UPDATE, {
@@ -58,12 +58,12 @@ function $({ companyId: n, className: m, children: l, dictionary: h }) {
58
58
  });
59
59
  }, x = async (e) => {
60
60
  await r(e, async (t) => {
61
- await d({
61
+ await y({
62
62
  employeeId: t,
63
63
  status: E.ADMIN_ONBOARDING_INCOMPLETE
64
64
  });
65
65
  });
66
- }, d = async (e) => {
66
+ }, y = async (e) => {
67
67
  await r(e, async ({ employeeId: t, status: v }) => {
68
68
  const { employeeOnboardingStatus: B } = await I({
69
69
  request: { employeeId: t, requestBody: { onboardingStatus: v } }
@@ -95,6 +95,7 @@ function $({ companyId: n, className: m, children: l, dictionary: h }) {
95
95
  handleSkip: () => {
96
96
  a(s.EMPLOYEE_ONBOARDING_DONE);
97
97
  },
98
+ itemsPerPage: u,
98
99
  isFetching: O
99
100
  },
100
101
  children: l || /* @__PURE__ */ C(H, { flexDirection: "column", children: [