@gusto/embedded-react-sdk 0.57.0 → 0.57.2

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 (165) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/components/Common/DataView/DataCards/DataCards.js +44 -42
  3. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  4. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +17 -15
  5. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
  6. package/dist/components/Common/UI/Input/Input.js +35 -32
  7. package/dist/components/Common/UI/Input/Input.js.map +1 -1
  8. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -5
  9. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  10. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -5
  11. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  12. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -7
  13. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  14. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -5
  15. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  16. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -5
  17. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  18. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +9 -10
  19. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  20. package/dist/components/Company/Industry/Context.js +7 -8
  21. package/dist/components/Company/Industry/Context.js.map +1 -1
  22. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -5
  23. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  24. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -5
  25. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  26. package/dist/components/Company/OnboardingOverview/context.js +4 -5
  27. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  28. package/dist/components/Company/PaySchedule/PayScheduleForm.js +66 -62
  29. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  30. package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js +2 -2
  31. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js +80 -68
  32. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js.map +1 -1
  33. package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js +49 -44
  34. package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js.map +1 -1
  35. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +96 -69
  36. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  37. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -5
  38. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  39. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -5
  40. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  41. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +4 -5
  42. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  43. package/dist/components/Company/StateTaxes/shared/requirementSetError.js +27 -10
  44. package/dist/components/Company/StateTaxes/shared/requirementSetError.js.map +1 -1
  45. package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js +77 -0
  46. package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js.map +1 -0
  47. package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js +94 -0
  48. package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js.map +1 -0
  49. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js +26 -0
  50. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js.map +1 -0
  51. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js +25 -0
  52. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js.map +1 -0
  53. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js +33 -0
  54. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js.map +1 -0
  55. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js +55 -0
  56. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js.map +1 -0
  57. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js +153 -0
  58. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js.map +1 -0
  59. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js +14 -0
  60. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js.map +1 -0
  61. package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js +16 -0
  62. package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js.map +1 -0
  63. package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js +34 -0
  64. package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js.map +1 -0
  65. package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js +30 -0
  66. package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js.map +1 -0
  67. package/dist/components/Company/exports/companyManagement.js +10 -4
  68. package/dist/components/Company/exports/companyManagement.js.map +1 -1
  69. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -5
  70. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  71. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +24 -23
  72. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  73. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +42 -34
  74. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  75. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -2
  76. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  77. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +56 -54
  78. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  79. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  80. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +60 -52
  81. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  82. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +74 -88
  83. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  84. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  85. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +23 -18
  86. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  87. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +204 -179
  88. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  89. package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js +8 -0
  90. package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js.map +1 -0
  91. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +44 -46
  92. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  93. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +4 -4
  94. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
  95. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +50 -41
  96. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
  97. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +63 -61
  98. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  99. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +14 -13
  100. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -1
  101. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +164 -154
  102. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
  103. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +9 -5
  104. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
  105. package/dist/components/Payroll/helpers.js +103 -92
  106. package/dist/components/Payroll/helpers.js.map +1 -1
  107. package/dist/components/Payroll/usePreparedPayrollData.js +3 -4
  108. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  109. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +2 -2
  110. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
  111. package/dist/contexts/ApiProvider/ApiProvider.js +19 -18
  112. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  113. package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +36 -0
  114. package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -0
  115. package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
  116. package/dist/helpers/dateFormatting.js +47 -40
  117. package/dist/helpers/dateFormatting.js.map +1 -1
  118. package/dist/i18n/I18n.js +2 -0
  119. package/dist/i18n/I18n.js.map +1 -1
  120. package/dist/i18n/en/Company.Management.PaySchedule.json.js +20 -18
  121. package/dist/i18n/en/Company.Management.PaySchedule.json.js.map +1 -1
  122. package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js +6 -4
  123. package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js.map +1 -1
  124. package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js +26 -0
  125. package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js.map +1 -0
  126. package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js +48 -0
  127. package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js.map +1 -0
  128. package/dist/i18n/en/Company.StateTaxes.json.js +1 -1
  129. package/dist/i18n/en/Payroll.PayrollHistory.json.js +5 -5
  130. package/dist/i18n/en/Payroll.PayrollOverview.json.js +42 -36
  131. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  132. package/dist/package.json.js +1 -1
  133. package/dist/shared/constants.js +62 -56
  134. package/dist/shared/constants.js.map +1 -1
  135. package/dist/src/components/Company/PaySchedule/PayScheduleForm.d.ts +6 -0
  136. package/dist/src/components/Company/StateTaxes/shared/requirementSetError.d.ts +18 -5
  137. package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.d.ts +31 -0
  138. package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.d.ts +19 -0
  139. package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.d.ts +42 -0
  140. package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.d.ts +20 -0
  141. package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.d.ts +10 -0
  142. package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.d.ts +28 -0
  143. package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.d.ts +33 -0
  144. package/dist/src/components/Company/TaxPayments/index.d.ts +6 -0
  145. package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.d.ts +29 -0
  146. package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.test.d.ts +1 -0
  147. package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.d.ts +62 -0
  148. package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.test.d.ts +1 -0
  149. package/dist/src/components/Company/TaxPayments/shared/useAllTaxPayments.d.ts +30 -0
  150. package/dist/src/components/Company/exports/companyManagement.d.ts +2 -0
  151. package/dist/src/components/Payroll/PayrollConfiguration/__fixtures__/payrollConfigurationMocks.d.ts +6 -1
  152. package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -0
  153. package/dist/src/components/Payroll/PayrollLanding/PayrollLanding.d.ts +1 -0
  154. package/dist/src/components/Payroll/PayrollOverview/PayrollOverview.d.ts +9 -3
  155. package/dist/src/components/Payroll/helpers.d.ts +34 -18
  156. package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.d.ts +14 -0
  157. package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.test.d.ts +1 -0
  158. package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +2 -0
  159. package/dist/src/helpers/dateFormatting.d.ts +13 -0
  160. package/dist/src/i18n/types.d.ts +168 -4
  161. package/dist/src/models/external.d.ts +2 -0
  162. package/dist/src/shared/constants.d.ts +18 -0
  163. package/dist/style.css +1 -1
  164. package/docs/guides/endpoint-inventory.json +33 -0
  165. package/package.json +30 -27
@@ -1,62 +1,47 @@
1
- import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
- import { useTranslation as H } from "react-i18next";
3
- import { getPayPeriodOrCheckDateLabel as u, getPayrollTypeLabel as U, calculateTotalPayroll as j, canCancelPayroll as O } from "../helpers.js";
1
+ import { jsxs as d, jsx as a } from "react/jsx-runtime";
2
+ import { useTranslation as A } from "react-i18next";
3
+ import { getPayPeriodOrCheckDateLabel as p, getPayrollTypeLabel as w, calculateTotalPayroll as M, getCancelDeadlineValues as E, canCancelPayroll as H } from "../helpers.js";
4
4
  import { Flex as c } from "../../Common/Flex/Flex.js";
5
- import { EmptyData as y } from "../../Common/EmptyData/EmptyData.js";
6
- import { HamburgerMenu as N } from "../../Common/HamburgerMenu/HamburgerMenu.js";
7
- import { DateRangeFilter as I } from "../../Common/DateRangeFilter/DateRangeFilter.js";
8
- import { useComponentContext as V } from "../../../contexts/ComponentAdapter/useComponentContext.js";
9
- import { formatNumberAsCurrency as Y } from "../../../helpers/formattedStrings.js";
10
- import { useI18n as Z } from "../../../i18n/I18n.js";
11
- import { useDateFormatter as $ } from "../../../hooks/useDateFormatter.js";
12
- import q from "../../../assets/icons/trashcan.svg.js";
13
- import B from "../../../assets/icons/icon-file-outline.svg.js";
5
+ import { EmptyData as u } from "../../Common/EmptyData/EmptyData.js";
6
+ import { HamburgerMenu as T } from "../../Common/HamburgerMenu/HamburgerMenu.js";
7
+ import { DateRangeFilter as j } from "../../Common/DateRangeFilter/DateRangeFilter.js";
8
+ import { useComponentContext as O } from "../../../contexts/ComponentAdapter/useComponentContext.js";
9
+ import { formatNumberAsCurrency as U } from "../../../helpers/formattedStrings.js";
10
+ import { useI18n as V } from "../../../i18n/I18n.js";
11
+ import { useDateFormatter as q } from "../../../hooks/useDateFormatter.js";
12
+ import B from "../../../assets/icons/trashcan.svg.js";
13
+ import N from "../../../assets/icons/icon-file-outline.svg.js";
14
14
  import W from "../../../assets/icons/icon-receipt-outline.svg.js";
15
- import { PayrollStatusBadges as _ } from "../PayrollStatusBadges/PayrollStatusBadges.js";
15
+ import { PayrollStatusBadges as Y } from "../PayrollStatusBadges/PayrollStatusBadges.js";
16
16
  import { DataView as z } from "../../Common/DataView/DataView.js";
17
- const me = ({
18
- className: D,
19
- payrollHistory: f,
20
- wireInRequests: h,
17
+ const oe = ({
18
+ className: y,
19
+ payrollHistory: D,
20
+ wireInRequests: f,
21
21
  pagination: s,
22
- onViewSummary: P,
22
+ onViewSummary: h,
23
23
  onViewReceipt: C,
24
- onCancelPayroll: b,
25
- cancelDialogItem: a,
26
- onCancelDialogOpen: S,
24
+ onCancelPayroll: P,
25
+ cancelDialogItem: r,
26
+ onCancelDialogOpen: b,
27
27
  onCancelDialogClose: g,
28
- isLoading: F = !1,
29
- dateRangeFilter: o
28
+ isLoading: S = !1,
29
+ dateRangeFilter: i
30
30
  }) => {
31
- const { Heading: L, Text: m, Dialog: v } = V();
32
- Z("Payroll.PayrollHistory");
33
- const { t: e } = H("Payroll.PayrollHistory"), l = $(), w = (t) => {
34
- const i = t.payrollDeadline;
35
- if (!i) return "";
36
- const n = new Date(i), p = "America/New_York", T = new Intl.DateTimeFormat("en-US", {
37
- weekday: "short",
38
- month: "short",
39
- day: "numeric",
40
- timeZone: p
41
- }), M = new Intl.DateTimeFormat("en-US", {
42
- hour: "numeric",
43
- minute: "2-digit",
44
- timeZoneName: "short",
45
- timeZone: p
46
- }), E = T.format(n);
47
- return `${M.format(n)} on ${E}`;
48
- }, x = (t) => {
49
- S(t);
50
- }, k = () => {
51
- a && b(a);
52
- }, A = (t) => {
53
- const i = t.payrollUuid || t.uuid, n = [
31
+ const { Heading: L, Text: m, Dialog: v } = O();
32
+ V("Payroll.PayrollHistory");
33
+ const { t: e } = A("Payroll.PayrollHistory"), l = q(), x = (t) => {
34
+ b(t);
35
+ }, F = () => {
36
+ r && P(r);
37
+ }, k = (t) => {
38
+ const o = t.payrollUuid || t.uuid, n = [
54
39
  {
55
40
  label: e("menu.viewSummary"),
56
- icon: /* @__PURE__ */ r(B, { "aria-hidden": !0 }),
41
+ icon: /* @__PURE__ */ a(N, { "aria-hidden": !0 }),
57
42
  onClick: () => {
58
- P(
59
- i,
43
+ h(
44
+ o,
60
45
  t.payPeriod?.startDate ?? void 0,
61
46
  t.payPeriod?.endDate ?? void 0
62
47
  );
@@ -64,36 +49,36 @@ const me = ({
64
49
  },
65
50
  {
66
51
  label: e("menu.viewReceipt"),
67
- icon: /* @__PURE__ */ r(W, { "aria-hidden": !0 }),
52
+ icon: /* @__PURE__ */ a(W, { "aria-hidden": !0 }),
68
53
  onClick: () => {
69
54
  C(
70
- i,
55
+ o,
71
56
  t.payPeriod?.startDate ?? void 0,
72
57
  t.payPeriod?.endDate ?? void 0
73
58
  );
74
59
  }
75
60
  }
76
61
  ];
77
- return O(t) && n.push({
62
+ return H(t) && n.push({
78
63
  label: e("menu.cancelPayroll"),
79
- icon: /* @__PURE__ */ r(q, { "aria-hidden": !0 }),
64
+ icon: /* @__PURE__ */ a(B, { "aria-hidden": !0 }),
80
65
  onClick: () => {
81
66
  x(t);
82
67
  },
83
68
  "data-destructive": "true"
84
69
  }), n;
85
70
  };
86
- return /* @__PURE__ */ d(c, { className: D, flexDirection: "column", gap: 16, children: [
71
+ return /* @__PURE__ */ d(c, { className: y, flexDirection: "column", gap: 16, children: [
87
72
  /* @__PURE__ */ d(c, { justifyContent: "space-between", alignItems: "center", children: [
88
- /* @__PURE__ */ r(L, { as: "h2", children: e("title") }),
89
- /* @__PURE__ */ r(
90
- I,
73
+ /* @__PURE__ */ a(L, { as: "h2", children: e("title") }),
74
+ /* @__PURE__ */ a(
75
+ j,
91
76
  {
92
- startDate: o.startDate,
93
- endDate: o.endDate,
94
- onStartDateChange: o.handleStartDateChange,
95
- onEndDateChange: o.handleEndDateChange,
96
- onClear: o.handleClearFilter,
77
+ startDate: i.startDate,
78
+ endDate: i.endDate,
79
+ onStartDateChange: i.handleStartDateChange,
80
+ onEndDateChange: i.handleEndDateChange,
81
+ onClear: i.handleClearFilter,
97
82
  startDateLabel: e("dateFilter.startDate"),
98
83
  endDateLabel: e("dateFilter.endDate"),
99
84
  applyLabel: e("dateFilter.apply"),
@@ -101,25 +86,25 @@ const me = ({
101
86
  resetLabel: e("dateFilter.reset"),
102
87
  selectDatesLabel: e("dateFilter.selectDates"),
103
88
  triggerLabel: e("dateFilter.trigger"),
104
- maxEndDate: o.getMaxEndDate(),
105
- minStartDate: o.getMinStartDate()
89
+ maxEndDate: i.getMaxEndDate(),
90
+ minStartDate: i.getMinStartDate()
106
91
  }
107
92
  )
108
93
  ] }),
109
- /* @__PURE__ */ r(
94
+ /* @__PURE__ */ a(
110
95
  z,
111
96
  {
112
97
  label: e("dataView.label"),
113
98
  pagination: s,
114
99
  isFetching: s.isFetching,
115
- emptyState: () => o.isModified ? /* @__PURE__ */ r(
116
- y,
100
+ emptyState: () => i.isModified ? /* @__PURE__ */ a(
101
+ u,
117
102
  {
118
103
  title: e("emptyState.filtered.title"),
119
104
  description: e("emptyState.filtered.description")
120
105
  }
121
- ) : /* @__PURE__ */ r(
122
- y,
106
+ ) : /* @__PURE__ */ a(
107
+ u,
123
108
  {
124
109
  title: e("emptyState.default.title"),
125
110
  description: e("emptyState.default.description")
@@ -128,11 +113,11 @@ const me = ({
128
113
  columns: [
129
114
  {
130
115
  title: e("columns.payPeriod"),
131
- render: (t) => u(t, l)
116
+ render: (t) => p(t, l)
132
117
  },
133
118
  {
134
119
  title: e("columns.type"),
135
- render: (t) => U(t)
120
+ render: (t) => w(t)
136
121
  },
137
122
  {
138
123
  title: e("columns.payDate"),
@@ -141,46 +126,47 @@ const me = ({
141
126
  {
142
127
  title: e("columns.status"),
143
128
  render: (t) => {
144
- const i = h.find(
129
+ const o = f.find(
145
130
  (n) => n.paymentUuid === t.payrollUuid
146
131
  );
147
- return /* @__PURE__ */ r(_, { payroll: t, wireInRequest: i });
132
+ return /* @__PURE__ */ a(Y, { payroll: t, wireInRequest: o });
148
133
  }
149
134
  },
150
135
  {
151
136
  title: e("columns.totalPayroll"),
152
137
  justify: "end",
153
- render: (t) => Y(j(t))
138
+ render: (t) => U(M(t))
154
139
  }
155
140
  ],
156
- data: f,
157
- itemMenu: (t) => /* @__PURE__ */ r(N, { items: A(t) })
141
+ data: D,
142
+ itemMenu: (t) => /* @__PURE__ */ a(T, { items: k(t) })
158
143
  }
159
144
  ),
160
- /* @__PURE__ */ r(
145
+ /* @__PURE__ */ a(
161
146
  v,
162
147
  {
163
- isOpen: !!a,
148
+ isOpen: !!r,
164
149
  onClose: g,
165
- onPrimaryActionClick: k,
150
+ onPrimaryActionClick: F,
166
151
  isDestructive: !0,
167
- isPrimaryActionLoading: F,
152
+ isPrimaryActionLoading: S,
168
153
  primaryActionLabel: e("cancelDialog.primaryAction"),
169
154
  closeActionLabel: e("cancelDialog.secondaryAction"),
170
- title: a ? e("cancelDialog.title", {
171
- payPeriod: u(a, l)
155
+ title: r ? e("cancelDialog.title", {
156
+ payPeriod: p(r, l)
172
157
  }) : "",
173
- children: a && /* @__PURE__ */ d(c, { flexDirection: "column", gap: 16, children: [
174
- /* @__PURE__ */ r(m, { children: e("cancelDialog.body") }),
175
- a.payrollDeadline && /* @__PURE__ */ r(m, { children: e("cancelDialog.deadline", {
176
- deadline: w(a)
177
- }) })
158
+ children: r && /* @__PURE__ */ d(c, { flexDirection: "column", gap: 16, children: [
159
+ /* @__PURE__ */ a(m, { children: e("cancelDialog.body") }),
160
+ r.payrollDeadline && /* @__PURE__ */ a(m, { children: e(
161
+ "cancelDialog.deadline",
162
+ E(r, l)
163
+ ) })
178
164
  ] })
179
165
  }
180
166
  )
181
167
  ] });
182
168
  };
183
169
  export {
184
- me as PayrollHistoryPresentation
170
+ oe as PayrollHistoryPresentation
185
171
  };
186
172
  //# sourceMappingURL=PayrollHistoryPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollHistoryPresentation.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payrollshow'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport {\n getPayrollTypeLabel,\n calculateTotalPayroll,\n canCancelPayroll,\n getPayPeriodOrCheckDateLabel,\n} from '../helpers'\nimport type { MenuItem } from '@/components/Common/UI/Menu/MenuTypes'\nimport { DataView, Flex, DateRangeFilter } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport type { UseDateRangeFilterResult } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\nimport TrashcanIcon from '@/assets/icons/trashcan.svg?react'\nimport FileIcon from '@/assets/icons/icon-file-outline.svg?react'\nimport ReceiptIcon from '@/assets/icons/icon-receipt-outline.svg?react'\nimport { EmptyData } from '@/components/Common/'\n\ninterface PayrollHistoryPresentationProps {\n /** CSS class name applied to the root element. */\n className?: string\n payrollHistory: Payroll[]\n wireInRequests: WireInRequest[]\n pagination: PaginationControlProps\n onViewSummary: (payrollId: string, startDate?: string, endDate?: string) => void\n onViewReceipt: (payrollId: string, startDate?: string, endDate?: string) => void\n onCancelPayroll: (item: Payroll) => void\n cancelDialogItem: Payroll | null\n onCancelDialogOpen: (item: Payroll) => void\n onCancelDialogClose: () => void\n isLoading?: boolean\n dateRangeFilter: UseDateRangeFilterResult\n}\n\n/** @internal */\nexport const PayrollHistoryPresentation = ({\n className,\n payrollHistory,\n wireInRequests,\n pagination,\n onViewSummary,\n onViewReceipt,\n onCancelPayroll,\n cancelDialogItem,\n onCancelDialogOpen,\n onCancelDialogClose,\n isLoading = false,\n dateRangeFilter,\n}: PayrollHistoryPresentationProps) => {\n const { Heading, Text, Dialog } = useComponentContext()\n useI18n('Payroll.PayrollHistory')\n const { t } = useTranslation('Payroll.PayrollHistory')\n const dateFormatter = useDateFormatter()\n\n const formatDeadlineForDialog = (item: Payroll): string => {\n const deadline = item.payrollDeadline\n if (!deadline) return ''\n\n const deadlineDate = new Date(deadline)\n const timeZone = 'America/New_York'\n\n const formatter = new Intl.DateTimeFormat('en-US', {\n weekday: 'short',\n month: 'short',\n day: 'numeric',\n timeZone,\n })\n\n const timeFormatter = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: '2-digit',\n timeZoneName: 'short',\n timeZone,\n })\n\n const dateStr = formatter.format(deadlineDate)\n const timeStr = timeFormatter.format(deadlineDate)\n\n return `${timeStr} on ${dateStr}`\n }\n\n const handleCancelClick = (item: Payroll) => {\n onCancelDialogOpen(item)\n }\n\n const handleConfirmCancel = () => {\n if (cancelDialogItem) {\n onCancelPayroll(cancelDialogItem)\n }\n }\n\n const getMenuItems = (item: Payroll): MenuItem[] => {\n const payrollId = item.payrollUuid || item.uuid!\n const items: MenuItem[] = [\n {\n label: t('menu.viewSummary'),\n icon: <FileIcon aria-hidden />,\n onClick: () => {\n onViewSummary(\n payrollId,\n item.payPeriod?.startDate ?? undefined,\n item.payPeriod?.endDate ?? undefined,\n )\n },\n },\n {\n label: t('menu.viewReceipt'),\n icon: <ReceiptIcon aria-hidden />,\n onClick: () => {\n onViewReceipt(\n payrollId,\n item.payPeriod?.startDate ?? undefined,\n item.payPeriod?.endDate ?? undefined,\n )\n },\n },\n ]\n\n if (canCancelPayroll(item)) {\n items.push({\n label: t('menu.cancelPayroll'),\n icon: <TrashcanIcon aria-hidden />,\n onClick: () => {\n handleCancelClick(item)\n },\n 'data-destructive': 'true',\n })\n }\n\n return items\n }\n\n return (\n <Flex className={className} flexDirection=\"column\" gap={16}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <DateRangeFilter\n startDate={dateRangeFilter.startDate}\n endDate={dateRangeFilter.endDate}\n onStartDateChange={dateRangeFilter.handleStartDateChange}\n onEndDateChange={dateRangeFilter.handleEndDateChange}\n onClear={dateRangeFilter.handleClearFilter}\n startDateLabel={t('dateFilter.startDate')}\n endDateLabel={t('dateFilter.endDate')}\n applyLabel={t('dateFilter.apply')}\n cancelLabel={t('dateFilter.cancel')}\n resetLabel={t('dateFilter.reset')}\n selectDatesLabel={t('dateFilter.selectDates')}\n triggerLabel={t('dateFilter.trigger')}\n maxEndDate={dateRangeFilter.getMaxEndDate()}\n minStartDate={dateRangeFilter.getMinStartDate()}\n />\n </Flex>\n\n <DataView\n label={t('dataView.label')}\n pagination={pagination}\n isFetching={pagination.isFetching}\n emptyState={() =>\n dateRangeFilter.isModified ? (\n <EmptyData\n title={t('emptyState.filtered.title')}\n description={t('emptyState.filtered.description')}\n />\n ) : (\n <EmptyData\n title={t('emptyState.default.title')}\n description={t('emptyState.default.description')}\n />\n )\n }\n columns={[\n {\n title: t('columns.payPeriod'),\n render: (item: Payroll) => getPayPeriodOrCheckDateLabel(item, dateFormatter),\n },\n {\n title: t('columns.type'),\n render: (item: Payroll) => getPayrollTypeLabel(item),\n },\n {\n title: t('columns.payDate'),\n render: (item: Payroll) => dateFormatter.formatShortWithYear(item.checkDate),\n },\n {\n title: t('columns.status'),\n render: (item: Payroll) => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === item.payrollUuid,\n )\n return <PayrollStatusBadges payroll={item} wireInRequest={wireInRequest} />\n },\n },\n {\n title: t('columns.totalPayroll'),\n justify: 'end',\n render: (item: Payroll) => formatNumberAsCurrency(calculateTotalPayroll(item)),\n },\n ]}\n data={payrollHistory}\n itemMenu={(item: Payroll) => <HamburgerMenu items={getMenuItems(item)} />}\n />\n\n <Dialog\n isOpen={!!cancelDialogItem}\n onClose={onCancelDialogClose}\n onPrimaryActionClick={handleConfirmCancel}\n isDestructive\n isPrimaryActionLoading={isLoading}\n primaryActionLabel={t('cancelDialog.primaryAction')}\n closeActionLabel={t('cancelDialog.secondaryAction')}\n title={\n cancelDialogItem\n ? t('cancelDialog.title', {\n payPeriod: getPayPeriodOrCheckDateLabel(cancelDialogItem, dateFormatter),\n })\n : ''\n }\n >\n {cancelDialogItem && (\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('cancelDialog.body')}</Text>\n {cancelDialogItem.payrollDeadline && (\n <Text>\n {t('cancelDialog.deadline', {\n deadline: formatDeadlineForDialog(cancelDialogItem),\n })}\n </Text>\n )}\n </Flex>\n )}\n </Dialog>\n </Flex>\n )\n}\n"],"names":["PayrollHistoryPresentation","className","payrollHistory","wireInRequests","pagination","onViewSummary","onViewReceipt","onCancelPayroll","cancelDialogItem","onCancelDialogOpen","onCancelDialogClose","isLoading","dateRangeFilter","Heading","Text","Dialog","useComponentContext","useI18n","t","useTranslation","dateFormatter","useDateFormatter","formatDeadlineForDialog","item","deadline","deadlineDate","timeZone","formatter","timeFormatter","dateStr","handleCancelClick","handleConfirmCancel","getMenuItems","payrollId","items","jsx","FileIcon","ReceiptIcon","canCancelPayroll","TrashcanIcon","Flex","jsxs","DateRangeFilter","DataView","EmptyData","getPayPeriodOrCheckDateLabel","getPayrollTypeLabel","wireInRequest","wire","PayrollStatusBadges","formatNumberAsCurrency","calculateTotalPayroll","HamburgerMenu"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollHistoryPresentation.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payrollshow'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport {\n getPayrollTypeLabel,\n calculateTotalPayroll,\n canCancelPayroll,\n getCancelDeadlineValues,\n getPayPeriodOrCheckDateLabel,\n} from '../helpers'\nimport type { MenuItem } from '@/components/Common/UI/Menu/MenuTypes'\nimport { DataView, Flex, DateRangeFilter } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport type { UseDateRangeFilterResult } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\nimport TrashcanIcon from '@/assets/icons/trashcan.svg?react'\nimport FileIcon from '@/assets/icons/icon-file-outline.svg?react'\nimport ReceiptIcon from '@/assets/icons/icon-receipt-outline.svg?react'\nimport { EmptyData } from '@/components/Common/'\n\ninterface PayrollHistoryPresentationProps {\n /** CSS class name applied to the root element. */\n className?: string\n payrollHistory: Payroll[]\n wireInRequests: WireInRequest[]\n pagination: PaginationControlProps\n onViewSummary: (payrollId: string, startDate?: string, endDate?: string) => void\n onViewReceipt: (payrollId: string, startDate?: string, endDate?: string) => void\n onCancelPayroll: (item: Payroll) => void\n cancelDialogItem: Payroll | null\n onCancelDialogOpen: (item: Payroll) => void\n onCancelDialogClose: () => void\n isLoading?: boolean\n dateRangeFilter: UseDateRangeFilterResult\n}\n\n/** @internal */\nexport const PayrollHistoryPresentation = ({\n className,\n payrollHistory,\n wireInRequests,\n pagination,\n onViewSummary,\n onViewReceipt,\n onCancelPayroll,\n cancelDialogItem,\n onCancelDialogOpen,\n onCancelDialogClose,\n isLoading = false,\n dateRangeFilter,\n}: PayrollHistoryPresentationProps) => {\n const { Heading, Text, Dialog } = useComponentContext()\n useI18n('Payroll.PayrollHistory')\n const { t } = useTranslation('Payroll.PayrollHistory')\n const dateFormatter = useDateFormatter()\n\n const handleCancelClick = (item: Payroll) => {\n onCancelDialogOpen(item)\n }\n\n const handleConfirmCancel = () => {\n if (cancelDialogItem) {\n onCancelPayroll(cancelDialogItem)\n }\n }\n\n const getMenuItems = (item: Payroll): MenuItem[] => {\n const payrollId = item.payrollUuid || item.uuid!\n const items: MenuItem[] = [\n {\n label: t('menu.viewSummary'),\n icon: <FileIcon aria-hidden />,\n onClick: () => {\n onViewSummary(\n payrollId,\n item.payPeriod?.startDate ?? undefined,\n item.payPeriod?.endDate ?? undefined,\n )\n },\n },\n {\n label: t('menu.viewReceipt'),\n icon: <ReceiptIcon aria-hidden />,\n onClick: () => {\n onViewReceipt(\n payrollId,\n item.payPeriod?.startDate ?? undefined,\n item.payPeriod?.endDate ?? undefined,\n )\n },\n },\n ]\n\n if (canCancelPayroll(item)) {\n items.push({\n label: t('menu.cancelPayroll'),\n icon: <TrashcanIcon aria-hidden />,\n onClick: () => {\n handleCancelClick(item)\n },\n 'data-destructive': 'true',\n })\n }\n\n return items\n }\n\n return (\n <Flex className={className} flexDirection=\"column\" gap={16}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <DateRangeFilter\n startDate={dateRangeFilter.startDate}\n endDate={dateRangeFilter.endDate}\n onStartDateChange={dateRangeFilter.handleStartDateChange}\n onEndDateChange={dateRangeFilter.handleEndDateChange}\n onClear={dateRangeFilter.handleClearFilter}\n startDateLabel={t('dateFilter.startDate')}\n endDateLabel={t('dateFilter.endDate')}\n applyLabel={t('dateFilter.apply')}\n cancelLabel={t('dateFilter.cancel')}\n resetLabel={t('dateFilter.reset')}\n selectDatesLabel={t('dateFilter.selectDates')}\n triggerLabel={t('dateFilter.trigger')}\n maxEndDate={dateRangeFilter.getMaxEndDate()}\n minStartDate={dateRangeFilter.getMinStartDate()}\n />\n </Flex>\n\n <DataView\n label={t('dataView.label')}\n pagination={pagination}\n isFetching={pagination.isFetching}\n emptyState={() =>\n dateRangeFilter.isModified ? (\n <EmptyData\n title={t('emptyState.filtered.title')}\n description={t('emptyState.filtered.description')}\n />\n ) : (\n <EmptyData\n title={t('emptyState.default.title')}\n description={t('emptyState.default.description')}\n />\n )\n }\n columns={[\n {\n title: t('columns.payPeriod'),\n render: (item: Payroll) => getPayPeriodOrCheckDateLabel(item, dateFormatter),\n },\n {\n title: t('columns.type'),\n render: (item: Payroll) => getPayrollTypeLabel(item),\n },\n {\n title: t('columns.payDate'),\n render: (item: Payroll) => dateFormatter.formatShortWithYear(item.checkDate),\n },\n {\n title: t('columns.status'),\n render: (item: Payroll) => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === item.payrollUuid,\n )\n return <PayrollStatusBadges payroll={item} wireInRequest={wireInRequest} />\n },\n },\n {\n title: t('columns.totalPayroll'),\n justify: 'end',\n render: (item: Payroll) => formatNumberAsCurrency(calculateTotalPayroll(item)),\n },\n ]}\n data={payrollHistory}\n itemMenu={(item: Payroll) => <HamburgerMenu items={getMenuItems(item)} />}\n />\n\n <Dialog\n isOpen={!!cancelDialogItem}\n onClose={onCancelDialogClose}\n onPrimaryActionClick={handleConfirmCancel}\n isDestructive\n isPrimaryActionLoading={isLoading}\n primaryActionLabel={t('cancelDialog.primaryAction')}\n closeActionLabel={t('cancelDialog.secondaryAction')}\n title={\n cancelDialogItem\n ? t('cancelDialog.title', {\n payPeriod: getPayPeriodOrCheckDateLabel(cancelDialogItem, dateFormatter),\n })\n : ''\n }\n >\n {cancelDialogItem && (\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('cancelDialog.body')}</Text>\n {cancelDialogItem.payrollDeadline && (\n <Text>\n {t(\n 'cancelDialog.deadline',\n getCancelDeadlineValues(cancelDialogItem, dateFormatter),\n )}\n </Text>\n )}\n </Flex>\n )}\n </Dialog>\n </Flex>\n )\n}\n"],"names":["PayrollHistoryPresentation","className","payrollHistory","wireInRequests","pagination","onViewSummary","onViewReceipt","onCancelPayroll","cancelDialogItem","onCancelDialogOpen","onCancelDialogClose","isLoading","dateRangeFilter","Heading","Text","Dialog","useComponentContext","useI18n","t","useTranslation","dateFormatter","useDateFormatter","handleCancelClick","item","handleConfirmCancel","getMenuItems","payrollId","items","jsx","FileIcon","ReceiptIcon","canCancelPayroll","TrashcanIcon","Flex","jsxs","DateRangeFilter","DataView","EmptyData","getPayPeriodOrCheckDateLabel","getPayrollTypeLabel","wireInRequest","wire","PayrollStatusBadges","formatNumberAsCurrency","calculateTotalPayroll","HamburgerMenu","getCancelDeadlineValues"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollLanding.js","sources":["../../../../src/components/Payroll/PayrollLanding/PayrollLanding.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport type { ConfirmWireDetailsComponentType } from '../ConfirmWireDetails/ConfirmWireDetails'\nimport { payrollLandingMachine, payrollLandingBreadcrumbNodes } from './payrollLandingStateMachine'\nimport {\n PayrollLandingTabsContextual,\n type PayrollLandingFlowContextInterface,\n type PayrollLandingFlowProps,\n} from './PayrollLandingFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Props for {@link PayrollLanding}.\n *\n * @public\n */\nexport interface PayrollLandingProps extends BaseComponentInterface<'Payroll.PayrollLanding'> {\n /** The associated company identifier. */\n companyId: string\n /** Whether to show reimbursement fields throughout the landing flow. Defaults to `true`. */\n withReimbursements?: boolean\n /** Whether to show the off-cycle payroll call-to-action. Defaults to `true`. */\n withOffcyclePayroll?: boolean\n /** Custom component that replaces the default wire details confirmation UI. */\n ConfirmWireDetailsComponent?: ConfirmWireDetailsComponentType\n /** When `true`, displays a dismissible success alert indicating a payroll was cancelled. */\n showPayrollCancelledAlert?: boolean\n}\n\n/**\n * Main landing surface for payroll operations, with tabs for running payroll and\n * viewing payroll history, plus inline navigation to a payroll's overview and receipt.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/selected` | User selected a payroll to run | `{ payrollUuid: string, payPeriod: object }` |\n * | `payroll/review` | User selected a calculated payroll to review | `{ payrollUuid: string, payPeriod: object }` |\n * | `payroll/skipped` | A payroll was skipped | `{ payrollId: string }` |\n * | `payroll/deleted` | A cancellable off-cycle payroll was deleted | `{ payrollId: string }` |\n * | `runPayroll/offCycle/start` | User clicked the Run off-cycle call-to-action | — |\n * | `transition/runPayroll` | User chose to run an unprocessed transition payroll from the Transition Payroll Alert | `{ startDate: string, endDate: string, payScheduleUuid?: string }` |\n * | `transition/payrollSkipped` | User skipped an unprocessed transition payroll from the Transition Payroll Alert | `{ startDate: string, endDate: string, payScheduleUuid?: string }` |\n * | `runPayroll/summary/viewed` | User opened a payroll's summary view | `{ payrollId: string }` |\n * | `runPayroll/receipt/viewed` | User opened a payroll's receipt view | `{ payrollId: string }` |\n * | `runPayroll/blockers/viewAll` | User opened the full list of payroll blockers | — |\n * | `runPayroll/cancelled` | A payroll was cancelled | `{ payrollId: string, result: object }` |\n * | `runPayroll/cancelled/alertDismissed` | User dismissed the payroll-cancelled success alert | — |\n *\n * When unprocessed transition pay periods exist, the landing surface renders a Transition\n * Payroll Alert. It looks ahead 90 days for upcoming transition periods, groups them by pay\n * schedule, and offers to run or skip each one. Choosing to run emits `transition/runPayroll`\n * (handle it by rendering `Payroll.TransitionFlow` with the supplied dates and pay schedule).\n * Skipping opens a confirmation dialog — warning that employees will not be paid for the\n * period — then skips the payroll and emits `transition/payrollSkipped`. Transition pay\n * periods should be resolved (run or skipped) before regular payrolls are run; the Gusto API\n * may reject regular payrolls while unresolved transition periods exist.\n *\n * @param props - See {@link PayrollLandingProps}.\n * @returns The payroll landing flow.\n * @public\n */\nexport function PayrollLanding(props: PayrollLandingProps) {\n return (\n <BaseComponent {...props}>\n <PayrollLandingFlow {...props} />\n </BaseComponent>\n )\n}\n\nfunction PayrollLandingFlow({\n companyId,\n onEvent,\n dictionary,\n withReimbursements = true,\n withOffcyclePayroll = true,\n ConfirmWireDetailsComponent,\n showPayrollCancelledAlert,\n}: PayrollLandingFlowProps) {\n useComponentDictionary('Payroll.PayrollLanding', dictionary)\n\n const machine = useMemo(\n () =>\n createMachine(\n 'tabs',\n payrollLandingMachine,\n (initialContext: PayrollLandingFlowContextInterface) => ({\n ...initialContext,\n component: PayrollLandingTabsContextual,\n companyId,\n selectedTab: 'run-payroll',\n withReimbursements,\n withOffcyclePayroll,\n ConfirmWireDetailsComponent,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(payrollLandingBreadcrumbNodes),\n },\n showPayrollCancelledAlert,\n }),\n ),\n [\n companyId,\n withReimbursements,\n withOffcyclePayroll,\n ConfirmWireDetailsComponent,\n showPayrollCancelledAlert,\n ],\n )\n\n return <Flow onEvent={onEvent} machine={machine} />\n}\n"],"names":["PayrollLanding","props","jsx","BaseComponent","PayrollLandingFlow","companyId","onEvent","dictionary","withReimbursements","withOffcyclePayroll","ConfirmWireDetailsComponent","showPayrollCancelledAlert","useComponentDictionary","machine","useMemo","createMachine","payrollLandingMachine","initialContext","PayrollLandingTabsContextual","buildBreadcrumbs","payrollLandingBreadcrumbNodes","Flow"],"mappings":";;;;;;;;;AAkEO,SAASA,EAAeC,GAA4B;AACzD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAoB,GAAGH,GAAO,EAAA,CACjC;AAEJ;AAEA,SAASG,EAAmB;AAAA,EAC1B,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,oBAAAC,IAAqB;AAAA,EACrB,qBAAAC,IAAsB;AAAA,EACtB,6BAAAC;AAAA,EACA,2BAAAC;AACF,GAA4B;AAC1B,EAAAC,EAAuB,0BAA0BL,CAAU;AAE3D,QAAMM,IAAUC;AAAA,IACd,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAwD;AAAA,QACvD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAb;AAAA,QACA,aAAa;AAAA,QACb,oBAAAG;AAAA,QACA,qBAAAC;AAAA,QACA,6BAAAC;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaS,EAAiBC,CAA6B;AAAA,QAAA;AAAA,QAE7D,2BAAAT;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ;AAAA,MACEN;AAAA,MACAG;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EACF;AAGF,SAAO,gBAAAT,EAACmB,GAAA,EAAK,SAAAf,GAAkB,SAAAO,EAAA,CAAkB;AACnD;"}
1
+ {"version":3,"file":"PayrollLanding.js","sources":["../../../../src/components/Payroll/PayrollLanding/PayrollLanding.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport type { ConfirmWireDetailsComponentType } from '../ConfirmWireDetails/ConfirmWireDetails'\nimport { payrollLandingMachine, payrollLandingBreadcrumbNodes } from './payrollLandingStateMachine'\nimport {\n PayrollLandingTabsContextual,\n type PayrollLandingFlowContextInterface,\n type PayrollLandingFlowProps,\n} from './PayrollLandingFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Props for {@link PayrollLanding}.\n *\n * @public\n */\nexport interface PayrollLandingProps extends BaseComponentInterface<'Payroll.PayrollLanding'> {\n /** The associated company identifier. */\n companyId: string\n /** Whether to show reimbursement fields throughout the landing flow. Defaults to `true`. */\n withReimbursements?: boolean\n /** Whether to show the off-cycle payroll call-to-action. Defaults to `true`. */\n withOffcyclePayroll?: boolean\n /** Custom component that replaces the default wire details confirmation UI. */\n ConfirmWireDetailsComponent?: ConfirmWireDetailsComponentType\n /** When `true`, displays a dismissible success alert indicating a payroll was cancelled. */\n showPayrollCancelledAlert?: boolean\n}\n\n/**\n * Main landing surface for payroll operations, with tabs for running payroll and\n * viewing payroll history, plus inline navigation to a payroll's overview and receipt.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/selected` | User selected a payroll to run | `{ payrollUuid: string, payPeriod: object }` |\n * | `payroll/review` | User selected a calculated payroll to review | `{ payrollUuid: string, payPeriod: object }` |\n * | `payroll/skipped` | A payroll was skipped | `{ payrollId: string }` |\n * | `payroll/deleted` | A cancellable off-cycle payroll was deleted | `{ payrollId: string }` |\n * | `runPayroll/offCycle/start` | User clicked the Run off-cycle call-to-action | — |\n * | `transition/runPayroll` | User chose to run an unprocessed transition payroll from the Transition Payroll Alert | `{ startDate: string, endDate: string, payScheduleUuid?: string }` |\n * | `transition/payrollSkipped` | User skipped an unprocessed transition payroll from the Transition Payroll Alert | `{ startDate: string, endDate: string, payScheduleUuid?: string }` |\n * | `runPayroll/summary/viewed` | User opened a payroll's summary view | `{ payrollId: string }` |\n * | `runPayroll/receipt/viewed` | User opened a payroll's receipt view | `{ payrollId: string }` |\n * | `runPayroll/blockers/viewAll` | User opened the full list of payroll blockers | — |\n * | `runPayroll/cancelled` | A payroll was cancelled | `{ payrollId: string, result: object }` |\n * | `runPayroll/notCalculated/backToList` | User returns to the payroll list from a payroll that is no longer calculated | — |\n * | `runPayroll/cancelled/alertDismissed` | User dismissed the payroll-cancelled success alert | — |\n *\n * When unprocessed transition pay periods exist, the landing surface renders a Transition\n * Payroll Alert. It looks ahead 90 days for upcoming transition periods, groups them by pay\n * schedule, and offers to run or skip each one. Choosing to run emits `transition/runPayroll`\n * (handle it by rendering `Payroll.TransitionFlow` with the supplied dates and pay schedule).\n * Skipping opens a confirmation dialog — warning that employees will not be paid for the\n * period — then skips the payroll and emits `transition/payrollSkipped`. Transition pay\n * periods should be resolved (run or skipped) before regular payrolls are run; the Gusto API\n * may reject regular payrolls while unresolved transition periods exist.\n *\n * @param props - See {@link PayrollLandingProps}.\n * @returns The payroll landing flow.\n * @public\n */\nexport function PayrollLanding(props: PayrollLandingProps) {\n return (\n <BaseComponent {...props}>\n <PayrollLandingFlow {...props} />\n </BaseComponent>\n )\n}\n\nfunction PayrollLandingFlow({\n companyId,\n onEvent,\n dictionary,\n withReimbursements = true,\n withOffcyclePayroll = true,\n ConfirmWireDetailsComponent,\n showPayrollCancelledAlert,\n}: PayrollLandingFlowProps) {\n useComponentDictionary('Payroll.PayrollLanding', dictionary)\n\n const machine = useMemo(\n () =>\n createMachine(\n 'tabs',\n payrollLandingMachine,\n (initialContext: PayrollLandingFlowContextInterface) => ({\n ...initialContext,\n component: PayrollLandingTabsContextual,\n companyId,\n selectedTab: 'run-payroll',\n withReimbursements,\n withOffcyclePayroll,\n ConfirmWireDetailsComponent,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(payrollLandingBreadcrumbNodes),\n },\n showPayrollCancelledAlert,\n }),\n ),\n [\n companyId,\n withReimbursements,\n withOffcyclePayroll,\n ConfirmWireDetailsComponent,\n showPayrollCancelledAlert,\n ],\n )\n\n return <Flow onEvent={onEvent} machine={machine} />\n}\n"],"names":["PayrollLanding","props","jsx","BaseComponent","PayrollLandingFlow","companyId","onEvent","dictionary","withReimbursements","withOffcyclePayroll","ConfirmWireDetailsComponent","showPayrollCancelledAlert","useComponentDictionary","machine","useMemo","createMachine","payrollLandingMachine","initialContext","PayrollLandingTabsContextual","buildBreadcrumbs","payrollLandingBreadcrumbNodes","Flow"],"mappings":";;;;;;;;;AAmEO,SAASA,EAAeC,GAA4B;AACzD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAoB,GAAGH,GAAO,EAAA,CACjC;AAEJ;AAEA,SAASG,EAAmB;AAAA,EAC1B,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,oBAAAC,IAAqB;AAAA,EACrB,qBAAAC,IAAsB;AAAA,EACtB,6BAAAC;AAAA,EACA,2BAAAC;AACF,GAA4B;AAC1B,EAAAC,EAAuB,0BAA0BL,CAAU;AAE3D,QAAMM,IAAUC;AAAA,IACd,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAwD;AAAA,QACvD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAb;AAAA,QACA,aAAa;AAAA,QACb,oBAAAG;AAAA,QACA,qBAAAC;AAAA,QACA,6BAAAC;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaS,EAAiBC,CAA6B;AAAA,QAAA;AAAA,QAE7D,2BAAAT;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ;AAAA,MACEN;AAAA,MACAG;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EACF;AAGF,SAAO,gBAAAT,EAACmB,GAAA,EAAK,SAAAf,GAAkB,SAAAO,EAAA,CAAkB;AACnD;"}
@@ -1,9 +1,9 @@
1
- import { state as d, transition as t, reduce as r, guard as i } from "robot3";
2
- import { PayrollLandingTabsContextual as y, PayrollLandingOverviewContextual as s, PayrollLandingReceiptsContextual as p } from "./PayrollLandingFlowComponents.js";
1
+ import { state as n, transition as t, reduce as r, guard as i } from "robot3";
2
+ import { PayrollLandingTabsContextual as c, PayrollLandingOverviewContextual as s, PayrollLandingReceiptsContextual as p } from "./PayrollLandingFlowComponents.js";
3
3
  import { componentEvents as o } from "../../../shared/constants.js";
4
4
  import { updateBreadcrumbs as l } from "../../../helpers/breadcrumbHelpers.js";
5
- import { createBreadcrumbNavigateTransition as b } from "../../Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js";
6
- const R = {
5
+ import { createBreadcrumbNavigateTransition as y } from "../../Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js";
6
+ const A = {
7
7
  tabs: {
8
8
  parent: null,
9
9
  item: {
@@ -12,7 +12,7 @@ const R = {
12
12
  namespace: "Payroll.PayrollLanding",
13
13
  onNavigate: ((e) => ({
14
14
  ...e,
15
- component: y,
15
+ component: c,
16
16
  header: e.header?.type === "breadcrumbs" ? { ...e.header, currentBreadcrumbId: void 0 } : null,
17
17
  payrollUuid: void 0,
18
18
  previousState: void 0,
@@ -40,17 +40,17 @@ const R = {
40
40
  }, u = (e) => (a) => ({
41
41
  ...a,
42
42
  ...e
43
- }), n = (e = {}) => (a) => ({
43
+ }), d = (e = {}) => (a) => ({
44
44
  ...a,
45
- component: y,
45
+ component: c,
46
46
  payrollUuid: void 0,
47
47
  previousState: void 0,
48
48
  startDate: void 0,
49
49
  endDate: void 0,
50
50
  header: a.header?.type === "breadcrumbs" ? { ...a.header, currentBreadcrumbId: void 0 } : null,
51
51
  ...e
52
- }), c = b(), _ = {
53
- tabs: d(
52
+ }), b = y(), P = {
53
+ tabs: n(
54
54
  t(
55
55
  o.RUN_PAYROLL_RECEIPT_VIEWED,
56
56
  "receipt",
@@ -108,9 +108,14 @@ const R = {
108
108
  )
109
109
  )
110
110
  ),
111
- overview: d(
112
- c("tabs"),
113
- t(o.RUN_PAYROLL_BACK, "tabs", r(n())),
111
+ overview: n(
112
+ b("tabs"),
113
+ t(o.RUN_PAYROLL_BACK, "tabs", r(d())),
114
+ t(
115
+ o.RUN_PAYROLL_NOT_CALCULATED_BACK_TO_LIST,
116
+ "tabs",
117
+ r(d())
118
+ ),
114
119
  t(
115
120
  o.RUN_PAYROLL_RECEIPT_GET,
116
121
  "receipt",
@@ -129,11 +134,11 @@ const R = {
129
134
  t(
130
135
  o.RUN_PAYROLL_CANCELLED,
131
136
  "tabs",
132
- r(n({ showPayrollCancelledAlert: !0 }))
137
+ r(d({ showPayrollCancelledAlert: !0 }))
133
138
  )
134
139
  ),
135
- receipt: d(
136
- c("tabs"),
140
+ receipt: n(
141
+ b("tabs"),
137
142
  t(
138
143
  o.RUN_PAYROLL_BACK,
139
144
  "overview",
@@ -150,13 +155,13 @@ const R = {
150
155
  t(
151
156
  o.RUN_PAYROLL_BACK,
152
157
  "tabs",
153
- r(n()),
158
+ r(d()),
154
159
  i((e) => e.previousState === "tabs")
155
160
  )
156
161
  )
157
162
  };
158
163
  export {
159
- R as payrollLandingBreadcrumbNodes,
160
- _ as payrollLandingMachine
164
+ A as payrollLandingBreadcrumbNodes,
165
+ P as payrollLandingMachine
161
166
  };
162
167
  //# sourceMappingURL=payrollLandingStateMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payrollLandingStateMachine.js","sources":["../../../../src/components/Payroll/PayrollLanding/payrollLandingStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport {\n PayrollLandingTabsContextual,\n PayrollLandingReceiptsContextual,\n PayrollLandingOverviewContextual,\n type PayrollLandingFlowContextInterface,\n} from './PayrollLandingFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { updateBreadcrumbs } from '@/helpers/breadcrumbHelpers'\nimport { createBreadcrumbNavigateTransition } from '@/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers'\n\ntype EventPayloads = {\n [componentEvents.RUN_PAYROLL_RECEIPT_VIEWED]: {\n payrollId: string\n startDate?: string\n endDate?: string\n }\n [componentEvents.RUN_PAYROLL_SUMMARY_VIEWED]: {\n payrollId: string\n startDate?: string\n endDate?: string\n }\n [componentEvents.RUN_PAYROLL_RECEIPT_GET]: {\n payrollId: string\n }\n [componentEvents.RUN_PAYROLL_CANCELLED]: undefined\n [componentEvents.RUN_PAYROLL_CANCELLED_ALERT_DISMISSED]: undefined\n}\n\n/** @internal */\nexport const payrollLandingBreadcrumbNodes: BreadcrumbNodes = {\n tabs: {\n parent: null,\n item: {\n id: 'tabs',\n label: 'breadcrumbs.landing',\n namespace: 'Payroll.PayrollLanding',\n onNavigate: ((ctx: PayrollLandingFlowContextInterface) => ({\n ...ctx,\n component: PayrollLandingTabsContextual,\n header:\n ctx.header?.type === 'breadcrumbs'\n ? { ...ctx.header, currentBreadcrumbId: undefined }\n : null,\n payrollUuid: undefined,\n previousState: undefined,\n startDate: undefined,\n endDate: undefined,\n })) as (context: unknown) => unknown,\n },\n },\n overview: {\n parent: 'tabs',\n item: {\n id: 'overview',\n label: 'breadcrumbs.overview',\n namespace: 'Payroll.PayrollLanding',\n },\n },\n receipt: {\n parent: 'tabs',\n item: {\n id: 'receipt',\n label: 'breadcrumbs.receipt',\n namespace: 'Payroll.PayrollLanding',\n },\n },\n} as const\n\nconst createReducer = (props: Partial<PayrollLandingFlowContextInterface>) => {\n return (ctx: PayrollLandingFlowContextInterface): PayrollLandingFlowContextInterface => ({\n ...ctx,\n ...props,\n })\n}\n\n/**\n * Reducer that returns the flow to the landing tabs view while preserving\n * the existing breadcrumbs trail data so that re-entering a sub-state can\n * pick it up without rebuilding.\n */\nconst returnToTabs = (\n extra: Partial<PayrollLandingFlowContextInterface> = {},\n): ((ctx: PayrollLandingFlowContextInterface) => PayrollLandingFlowContextInterface) => {\n return (ctx: PayrollLandingFlowContextInterface) => ({\n ...ctx,\n component: PayrollLandingTabsContextual,\n payrollUuid: undefined,\n previousState: undefined,\n startDate: undefined,\n endDate: undefined,\n header:\n ctx.header?.type === 'breadcrumbs' ? { ...ctx.header, currentBreadcrumbId: undefined } : null,\n ...extra,\n })\n}\n\nconst breadcrumbNavigateTransition =\n createBreadcrumbNavigateTransition<PayrollLandingFlowContextInterface>()\n\n/** @internal */\nexport const payrollLandingMachine = {\n tabs: state<MachineTransition>(\n transition(\n componentEvents.RUN_PAYROLL_RECEIPT_VIEWED,\n 'receipt',\n reduce(\n (\n ctx: PayrollLandingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.RUN_PAYROLL_RECEIPT_VIEWED>,\n ): PayrollLandingFlowContextInterface => ({\n ...updateBreadcrumbs('receipt', ctx, {\n startDate: ev.payload.startDate ?? '',\n endDate: ev.payload.endDate ?? '',\n }),\n component: PayrollLandingReceiptsContextual,\n payrollUuid: ev.payload.payrollId,\n previousState: 'tabs',\n selectedTab: 'payroll-history',\n startDate: ev.payload.startDate,\n endDate: ev.payload.endDate,\n showPayrollCancelledAlert: false,\n }),\n ),\n ),\n transition(\n componentEvents.RUN_PAYROLL_SUMMARY_VIEWED,\n 'overview',\n reduce(\n (\n ctx: PayrollLandingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.RUN_PAYROLL_SUMMARY_VIEWED>,\n ): PayrollLandingFlowContextInterface => ({\n ...updateBreadcrumbs('overview', ctx, {\n startDate: ev.payload.startDate ?? '',\n endDate: ev.payload.endDate ?? '',\n }),\n component: PayrollLandingOverviewContextual,\n payrollUuid: ev.payload.payrollId,\n previousState: 'tabs',\n selectedTab: 'payroll-history',\n startDate: ev.payload.startDate,\n endDate: ev.payload.endDate,\n showPayrollCancelledAlert: false,\n }),\n ),\n ),\n transition(\n componentEvents.RUN_PAYROLL_CANCELLED,\n 'tabs',\n reduce(\n createReducer({\n showPayrollCancelledAlert: true,\n }),\n ),\n ),\n transition(\n componentEvents.RUN_PAYROLL_CANCELLED_ALERT_DISMISSED,\n 'tabs',\n reduce(\n createReducer({\n showPayrollCancelledAlert: false,\n }),\n ),\n ),\n ),\n overview: state<MachineTransition>(\n breadcrumbNavigateTransition('tabs'),\n transition(componentEvents.RUN_PAYROLL_BACK, 'tabs', reduce(returnToTabs())),\n transition(\n componentEvents.RUN_PAYROLL_RECEIPT_GET,\n 'receipt',\n reduce(\n (\n ctx: PayrollLandingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.RUN_PAYROLL_RECEIPT_GET>,\n ): PayrollLandingFlowContextInterface => ({\n ...updateBreadcrumbs('receipt', ctx, {\n startDate: ctx.startDate ?? '',\n endDate: ctx.endDate ?? '',\n }),\n component: PayrollLandingReceiptsContextual,\n payrollUuid: ev.payload.payrollId,\n previousState: 'overview',\n }),\n ),\n ),\n transition(\n componentEvents.RUN_PAYROLL_CANCELLED,\n 'tabs',\n reduce(returnToTabs({ showPayrollCancelledAlert: true })),\n ),\n ),\n receipt: state<MachineTransition>(\n breadcrumbNavigateTransition('tabs'),\n transition(\n componentEvents.RUN_PAYROLL_BACK,\n 'overview',\n reduce((ctx: PayrollLandingFlowContextInterface): PayrollLandingFlowContextInterface => ({\n ...updateBreadcrumbs('overview', ctx, {\n startDate: ctx.startDate ?? '',\n endDate: ctx.endDate ?? '',\n }),\n component: PayrollLandingOverviewContextual,\n previousState: 'tabs',\n })),\n guard((ctx: PayrollLandingFlowContextInterface) => {\n return ctx.previousState === 'overview'\n }),\n ),\n transition(\n componentEvents.RUN_PAYROLL_BACK,\n 'tabs',\n reduce(returnToTabs()),\n guard((ctx: PayrollLandingFlowContextInterface) => {\n return ctx.previousState === 'tabs'\n }),\n ),\n ),\n}\n"],"names":["payrollLandingBreadcrumbNodes","ctx","PayrollLandingTabsContextual","createReducer","props","returnToTabs","extra","breadcrumbNavigateTransition","createBreadcrumbNavigateTransition","payrollLandingMachine","state","transition","componentEvents","reduce","ev","updateBreadcrumbs","PayrollLandingReceiptsContextual","PayrollLandingOverviewContextual","guard"],"mappings":"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"}
1
+ {"version":3,"file":"payrollLandingStateMachine.js","sources":["../../../../src/components/Payroll/PayrollLanding/payrollLandingStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport {\n PayrollLandingTabsContextual,\n PayrollLandingReceiptsContextual,\n PayrollLandingOverviewContextual,\n type PayrollLandingFlowContextInterface,\n} from './PayrollLandingFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { updateBreadcrumbs } from '@/helpers/breadcrumbHelpers'\nimport { createBreadcrumbNavigateTransition } from '@/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers'\n\ntype EventPayloads = {\n [componentEvents.RUN_PAYROLL_RECEIPT_VIEWED]: {\n payrollId: string\n startDate?: string\n endDate?: string\n }\n [componentEvents.RUN_PAYROLL_SUMMARY_VIEWED]: {\n payrollId: string\n startDate?: string\n endDate?: string\n }\n [componentEvents.RUN_PAYROLL_RECEIPT_GET]: {\n payrollId: string\n }\n [componentEvents.RUN_PAYROLL_CANCELLED]: undefined\n [componentEvents.RUN_PAYROLL_CANCELLED_ALERT_DISMISSED]: undefined\n [componentEvents.RUN_PAYROLL_NOT_CALCULATED_BACK_TO_LIST]: undefined\n}\n\n/** @internal */\nexport const payrollLandingBreadcrumbNodes: BreadcrumbNodes = {\n tabs: {\n parent: null,\n item: {\n id: 'tabs',\n label: 'breadcrumbs.landing',\n namespace: 'Payroll.PayrollLanding',\n onNavigate: ((ctx: PayrollLandingFlowContextInterface) => ({\n ...ctx,\n component: PayrollLandingTabsContextual,\n header:\n ctx.header?.type === 'breadcrumbs'\n ? { ...ctx.header, currentBreadcrumbId: undefined }\n : null,\n payrollUuid: undefined,\n previousState: undefined,\n startDate: undefined,\n endDate: undefined,\n })) as (context: unknown) => unknown,\n },\n },\n overview: {\n parent: 'tabs',\n item: {\n id: 'overview',\n label: 'breadcrumbs.overview',\n namespace: 'Payroll.PayrollLanding',\n },\n },\n receipt: {\n parent: 'tabs',\n item: {\n id: 'receipt',\n label: 'breadcrumbs.receipt',\n namespace: 'Payroll.PayrollLanding',\n },\n },\n} as const\n\nconst createReducer = (props: Partial<PayrollLandingFlowContextInterface>) => {\n return (ctx: PayrollLandingFlowContextInterface): PayrollLandingFlowContextInterface => ({\n ...ctx,\n ...props,\n })\n}\n\n/**\n * Reducer that returns the flow to the landing tabs view while preserving\n * the existing breadcrumbs trail data so that re-entering a sub-state can\n * pick it up without rebuilding.\n */\nconst returnToTabs = (\n extra: Partial<PayrollLandingFlowContextInterface> = {},\n): ((ctx: PayrollLandingFlowContextInterface) => PayrollLandingFlowContextInterface) => {\n return (ctx: PayrollLandingFlowContextInterface) => ({\n ...ctx,\n component: PayrollLandingTabsContextual,\n payrollUuid: undefined,\n previousState: undefined,\n startDate: undefined,\n endDate: undefined,\n header:\n ctx.header?.type === 'breadcrumbs' ? { ...ctx.header, currentBreadcrumbId: undefined } : null,\n ...extra,\n })\n}\n\nconst breadcrumbNavigateTransition =\n createBreadcrumbNavigateTransition<PayrollLandingFlowContextInterface>()\n\n/** @internal */\nexport const payrollLandingMachine = {\n tabs: state<MachineTransition>(\n transition(\n componentEvents.RUN_PAYROLL_RECEIPT_VIEWED,\n 'receipt',\n reduce(\n (\n ctx: PayrollLandingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.RUN_PAYROLL_RECEIPT_VIEWED>,\n ): PayrollLandingFlowContextInterface => ({\n ...updateBreadcrumbs('receipt', ctx, {\n startDate: ev.payload.startDate ?? '',\n endDate: ev.payload.endDate ?? '',\n }),\n component: PayrollLandingReceiptsContextual,\n payrollUuid: ev.payload.payrollId,\n previousState: 'tabs',\n selectedTab: 'payroll-history',\n startDate: ev.payload.startDate,\n endDate: ev.payload.endDate,\n showPayrollCancelledAlert: false,\n }),\n ),\n ),\n transition(\n componentEvents.RUN_PAYROLL_SUMMARY_VIEWED,\n 'overview',\n reduce(\n (\n ctx: PayrollLandingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.RUN_PAYROLL_SUMMARY_VIEWED>,\n ): PayrollLandingFlowContextInterface => ({\n ...updateBreadcrumbs('overview', ctx, {\n startDate: ev.payload.startDate ?? '',\n endDate: ev.payload.endDate ?? '',\n }),\n component: PayrollLandingOverviewContextual,\n payrollUuid: ev.payload.payrollId,\n previousState: 'tabs',\n selectedTab: 'payroll-history',\n startDate: ev.payload.startDate,\n endDate: ev.payload.endDate,\n showPayrollCancelledAlert: false,\n }),\n ),\n ),\n transition(\n componentEvents.RUN_PAYROLL_CANCELLED,\n 'tabs',\n reduce(\n createReducer({\n showPayrollCancelledAlert: true,\n }),\n ),\n ),\n transition(\n componentEvents.RUN_PAYROLL_CANCELLED_ALERT_DISMISSED,\n 'tabs',\n reduce(\n createReducer({\n showPayrollCancelledAlert: false,\n }),\n ),\n ),\n ),\n overview: state<MachineTransition>(\n breadcrumbNavigateTransition('tabs'),\n transition(componentEvents.RUN_PAYROLL_BACK, 'tabs', reduce(returnToTabs())),\n transition(\n componentEvents.RUN_PAYROLL_NOT_CALCULATED_BACK_TO_LIST,\n 'tabs',\n reduce(returnToTabs()),\n ),\n transition(\n componentEvents.RUN_PAYROLL_RECEIPT_GET,\n 'receipt',\n reduce(\n (\n ctx: PayrollLandingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.RUN_PAYROLL_RECEIPT_GET>,\n ): PayrollLandingFlowContextInterface => ({\n ...updateBreadcrumbs('receipt', ctx, {\n startDate: ctx.startDate ?? '',\n endDate: ctx.endDate ?? '',\n }),\n component: PayrollLandingReceiptsContextual,\n payrollUuid: ev.payload.payrollId,\n previousState: 'overview',\n }),\n ),\n ),\n transition(\n componentEvents.RUN_PAYROLL_CANCELLED,\n 'tabs',\n reduce(returnToTabs({ showPayrollCancelledAlert: true })),\n ),\n ),\n receipt: state<MachineTransition>(\n breadcrumbNavigateTransition('tabs'),\n transition(\n componentEvents.RUN_PAYROLL_BACK,\n 'overview',\n reduce((ctx: PayrollLandingFlowContextInterface): PayrollLandingFlowContextInterface => ({\n ...updateBreadcrumbs('overview', ctx, {\n startDate: ctx.startDate ?? '',\n endDate: ctx.endDate ?? '',\n }),\n component: PayrollLandingOverviewContextual,\n previousState: 'tabs',\n })),\n guard((ctx: PayrollLandingFlowContextInterface) => {\n return ctx.previousState === 'overview'\n }),\n ),\n transition(\n componentEvents.RUN_PAYROLL_BACK,\n 'tabs',\n reduce(returnToTabs()),\n guard((ctx: PayrollLandingFlowContextInterface) => {\n return ctx.previousState === 'tabs'\n }),\n ),\n ),\n}\n"],"names":["payrollLandingBreadcrumbNodes","ctx","PayrollLandingTabsContextual","createReducer","props","returnToTabs","extra","breadcrumbNavigateTransition","createBreadcrumbNavigateTransition","payrollLandingMachine","state","transition","componentEvents","reduce","ev","updateBreadcrumbs","PayrollLandingReceiptsContextual","PayrollLandingOverviewContextual","guard"],"mappings":"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"}