@gusto/embedded-react-sdk 0.57.1 → 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 (160) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/components/Base/Base.js +2 -3
  3. package/dist/components/Base/Base.js.map +1 -1
  4. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +6 -8
  5. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  6. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +8 -10
  7. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  8. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -6
  9. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  10. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +6 -8
  11. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  12. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -6
  13. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  14. package/dist/components/Company/AssignSignatory/TitleSelect.js +10 -11
  15. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  16. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -8
  17. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  18. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +8 -9
  19. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  20. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -6
  21. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  22. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +10 -12
  23. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  24. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +11 -13
  25. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  26. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +5 -7
  27. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  28. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -6
  29. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  30. package/dist/components/Company/FederalTaxes/Actions.js +7 -9
  31. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  32. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +8 -11
  33. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  34. package/dist/components/Company/Industry/Actions.js +5 -7
  35. package/dist/components/Company/Industry/Actions.js.map +1 -1
  36. package/dist/components/Company/Industry/Context.js +6 -9
  37. package/dist/components/Company/Industry/Context.js.map +1 -1
  38. package/dist/components/Company/Industry/Edit.js +10 -12
  39. package/dist/components/Company/Industry/Edit.js.map +1 -1
  40. package/dist/components/Company/Locations/LocationForm/Actions.js +8 -10
  41. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  42. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -6
  43. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  44. package/dist/components/Company/Locations/LocationsList/Actions.js +6 -8
  45. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  46. package/dist/components/Company/Locations/LocationsList/List.js +11 -13
  47. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  48. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -6
  49. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  50. package/dist/components/Company/OnboardingOverview/context.js +3 -6
  51. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  52. package/dist/components/Company/PaySchedule/PayScheduleForm.js +66 -62
  53. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  54. package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js +2 -2
  55. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js +80 -68
  56. package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js.map +1 -1
  57. package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js +11 -13
  58. package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -1
  59. package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js +49 -44
  60. package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js.map +1 -1
  61. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +5 -7
  62. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  63. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -6
  64. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  65. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +6 -8
  66. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  67. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -6
  68. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  69. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -6
  70. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  71. package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js +16 -17
  72. package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  73. package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js +8 -9
  74. package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
  75. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js +6 -8
  76. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js.map +1 -1
  77. package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js +26 -27
  78. package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  79. package/dist/components/Contractor/Profile/management/ProfileEditForm.js +11 -11
  80. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +12 -13
  81. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
  82. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +12 -13
  83. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
  84. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +6 -8
  85. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
  86. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -6
  87. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  88. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +3 -4
  89. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
  90. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +3 -4
  91. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
  92. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +22 -24
  93. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
  94. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +8 -9
  95. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
  96. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +14 -15
  97. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  98. package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -1
  99. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
  100. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +7 -8
  101. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
  102. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +7 -8
  103. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
  104. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +56 -54
  105. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  106. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +14 -16
  107. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
  108. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +6 -8
  109. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  110. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +9 -11
  111. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  112. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +74 -88
  113. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  114. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +44 -46
  115. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  116. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +63 -61
  117. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  118. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +14 -13
  119. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -1
  120. package/dist/components/Payroll/helpers.js +52 -48
  121. package/dist/components/Payroll/helpers.js.map +1 -1
  122. package/dist/components/Payroll/usePreparedPayrollData.js +13 -16
  123. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  124. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +2 -2
  125. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
  126. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +2 -4
  127. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
  128. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +6 -8
  129. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
  130. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +28 -30
  131. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
  132. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +2 -4
  133. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  134. package/dist/helpers/dateFormatting.js +47 -40
  135. package/dist/helpers/dateFormatting.js.map +1 -1
  136. package/dist/i18n/en/Company.Management.PaySchedule.json.js +20 -18
  137. package/dist/i18n/en/Company.Management.PaySchedule.json.js.map +1 -1
  138. package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js +6 -4
  139. package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js.map +1 -1
  140. package/dist/i18n/en/Payroll.PayrollHistory.json.js +5 -5
  141. package/dist/i18n/en/Payroll.PayrollOverview.json.js +1 -1
  142. package/dist/package.json.js +1 -1
  143. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +8 -10
  144. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
  145. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +12 -14
  146. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
  147. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +13 -15
  148. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  149. package/dist/partner-hook-utils/form/fields/SelectHookField.js +10 -12
  150. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  151. package/dist/partner-hook-utils/form/fields/SwitchHookField.js +14 -16
  152. package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
  153. package/dist/partner-hook-utils/form/fields/TextInputHookField.js +8 -10
  154. package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
  155. package/dist/src/components/Company/PaySchedule/PayScheduleForm.d.ts +6 -0
  156. package/dist/src/components/Payroll/helpers.d.ts +20 -0
  157. package/dist/src/helpers/dateFormatting.d.ts +13 -0
  158. package/dist/src/i18n/types.d.ts +14 -2
  159. package/dist/style.css +1 -1
  160. package/package.json +7 -7
@@ -1,49 +1,55 @@
1
- import { jsx as a, jsxs as c } from "react/jsx-runtime";
2
- import { useState as R } from "react";
3
- import { useTranslation as C } from "react-i18next";
4
- import { usePayScheduleForm as O } from "./shared/usePayScheduleForm/usePayScheduleForm.js";
5
- import m from "./PayScheduleForm.module.scss.js";
6
- import { BaseBoundaries as M, BaseLayout as f } from "../../Base/Base.js";
1
+ import { jsx as a, jsxs as y } from "react/jsx-runtime";
2
+ import { useState as O } from "react";
3
+ import { useTranslation as M } from "react-i18next";
4
+ import { usePayScheduleForm as q } from "./shared/usePayScheduleForm/usePayScheduleForm.js";
5
+ import u from "./PayScheduleForm.module.scss.js";
6
+ import { BaseBoundaries as A, BaseLayout as P } from "../../Base/Base.js";
7
7
  import "../../Base/useBase.js";
8
- import { SDKFormProvider as q } from "../../../partner-hook-utils/form/SDKFormProvider.js";
9
- import { Form as A } from "../../Common/Form/Form.js";
10
- import { Flex as u } from "../../Common/Flex/Flex.js";
11
- import { Grid as L } from "../../Common/Grid/Grid.js";
12
- import { ActionsLayout as T } from "../../Common/ActionsLayout/ActionsLayout.js";
13
- import { useComponentContext as F } from "../../../contexts/ComponentAdapter/useComponentContext.js";
14
- import { useDateFormatter as x } from "../../../hooks/useDateFormatter.js";
15
- import { componentEvents as D } from "../../../shared/constants.js";
16
- import { normalizeToDate as N } from "../../../helpers/dateFormatting.js";
17
- const p = (l) => N(l.toString());
18
- function ee({ onEvent: l, LoaderComponent: d, ...h }) {
19
- return /* @__PURE__ */ a(M, { componentName: "Company.PayScheduleForm", LoaderComponent: d, children: /* @__PURE__ */ a(I, { onEvent: l, LoaderComponent: d, ...h }) });
8
+ import { SDKFormProvider as L } from "../../../partner-hook-utils/form/SDKFormProvider.js";
9
+ import { Form as T } from "../../Common/Form/Form.js";
10
+ import { Flex as p } from "../../Common/Flex/Flex.js";
11
+ import { Grid as F } from "../../Common/Grid/Grid.js";
12
+ import { ActionsLayout as x } from "../../Common/ActionsLayout/ActionsLayout.js";
13
+ import { useComponentContext as N } from "../../../contexts/ComponentAdapter/useComponentContext.js";
14
+ import { useDateFormatter as I } from "../../../hooks/useDateFormatter.js";
15
+ import { componentEvents as f } from "../../../shared/constants.js";
16
+ import { normalizeToDate as U } from "../../../helpers/dateFormatting.js";
17
+ const D = (l) => U(l.toString());
18
+ function te({ onEvent: l, LoaderComponent: d, ...c }) {
19
+ return /* @__PURE__ */ a(A, { componentName: "Company.PayScheduleForm", LoaderComponent: d, children: /* @__PURE__ */ a(Q, { onEvent: l, LoaderComponent: d, ...c }) });
20
20
  }
21
- function I({ onEvent: l, LoaderComponent: d, ...h }) {
22
- const { t: e } = C("Company.PaySchedule"), i = F(), P = x(), o = O(h), [n, w] = R(0);
23
- if (o.isLoading)
21
+ function Q({
22
+ onEvent: l,
23
+ LoaderComponent: d,
24
+ variant: c = "onboarding",
25
+ copy: m,
26
+ ...w
27
+ }) {
28
+ const { t: e } = M("Company.PaySchedule"), o = N(), g = I(), i = q(w), [n, S] = O(0);
29
+ if (i.isLoading)
24
30
  return /* @__PURE__ */ a(
25
- f,
31
+ P,
26
32
  {
27
33
  isLoading: !0,
28
- error: o.errorHandling.errors,
34
+ error: i.errorHandling.errors,
29
35
  LoaderComponent: d
30
36
  }
31
37
  );
32
38
  const v = async () => {
33
- const t = await o.actions.onSubmit();
39
+ const t = await i.actions.onSubmit();
34
40
  t && l(
35
- t.mode === "create" ? D.PAY_SCHEDULE_CREATED : D.PAY_SCHEDULE_UPDATED,
41
+ t.mode === "create" ? f.PAY_SCHEDULE_CREATED : f.PAY_SCHEDULE_UPDATED,
36
42
  { paySchedule: t.data }
37
43
  );
38
- }, { Fields: r } = o.form, { paymentSpeedDays: S, payPreviewLoading: g } = o.data, s = o.data.payPeriodPreview, b = {
44
+ }, { Fields: r } = i.form, { paymentSpeedDays: b, payPreviewLoading: k } = i.data, s = i.data.payPeriodPreview, E = {
39
45
  "Every week": e("frequencies.everyWeek"),
40
46
  "Every other week": e("frequencies.everyOtherWeek"),
41
47
  "Twice per month": e("frequencies.twicePerMonth"),
42
48
  Monthly: e("frequencies.monthly")
43
- }, k = {
49
+ }, R = {
44
50
  "1st15th": e("frequencyOptions.15thAndLast"),
45
51
  custom: e("frequencyOptions.custom")
46
- }, E = {
52
+ }, C = {
47
53
  Sunday: e("workweekStartDayOptions.sunday"),
48
54
  Monday: e("workweekStartDayOptions.monday"),
49
55
  Tuesday: e("workweekStartDayOptions.tuesday"),
@@ -52,12 +58,12 @@ function I({ onEvent: l, LoaderComponent: d, ...h }) {
52
58
  Friday: e("workweekStartDayOptions.friday"),
53
59
  Saturday: e("workweekStartDayOptions.saturday")
54
60
  };
55
- return /* @__PURE__ */ a(f, { error: o.errorHandling.errors, LoaderComponent: d, children: /* @__PURE__ */ a(q, { formHookResult: o, children: /* @__PURE__ */ a(A, { onSubmit: () => {
61
+ return /* @__PURE__ */ a(P, { error: i.errorHandling.errors, LoaderComponent: d, children: /* @__PURE__ */ a(L, { formHookResult: i, children: /* @__PURE__ */ a(T, { onSubmit: () => {
56
62
  v();
57
- }, children: /* @__PURE__ */ c(u, { flexDirection: "column", children: [
58
- /* @__PURE__ */ a(u, { justifyContent: "space-between", flexDirection: "column", gap: 4, children: /* @__PURE__ */ a("header", { children: /* @__PURE__ */ a(i.Heading, { as: "h2", children: o.status.mode === "create" ? e("headings.addPaySchedule") : e("headings.editPaySchedule") }) }) }),
59
- /* @__PURE__ */ a("div", { className: m.payScheduleContainer, children: /* @__PURE__ */ c(L, { gap: 32, gridTemplateColumns: { base: "1fr", small: "1fr 1fr" }, children: [
60
- /* @__PURE__ */ a("div", { className: m.payScheduleForm, children: /* @__PURE__ */ c(u, { flexDirection: "column", children: [
63
+ }, children: /* @__PURE__ */ y(p, { flexDirection: "column", children: [
64
+ /* @__PURE__ */ a(p, { justifyContent: "space-between", flexDirection: "column", gap: 4, children: /* @__PURE__ */ a("header", { children: /* @__PURE__ */ a(o.Heading, { as: "h2", children: i.status.mode === "create" ? e("headings.addPaySchedule") : e("headings.editPaySchedule") }) }) }),
65
+ /* @__PURE__ */ a("div", { className: u.payScheduleContainer, children: /* @__PURE__ */ y(F, { gap: 32, gridTemplateColumns: { base: "1fr", small: "1fr 1fr" }, children: [
66
+ /* @__PURE__ */ a("div", { className: u.payScheduleForm, children: /* @__PURE__ */ y(p, { flexDirection: "column", children: [
61
67
  /* @__PURE__ */ a(
62
68
  r.CustomName,
63
69
  {
@@ -70,7 +76,7 @@ function I({ onEvent: l, LoaderComponent: d, ...h }) {
70
76
  {
71
77
  label: e("labels.frequency"),
72
78
  placeholder: e("labels.frequencyPlaceholder"),
73
- getOptionLabel: (t) => b[t],
79
+ getOptionLabel: (t) => E[t],
74
80
  validationMessages: { REQUIRED: e("validations.frequency") }
75
81
  }
76
82
  ),
@@ -79,7 +85,7 @@ function I({ onEvent: l, LoaderComponent: d, ...h }) {
79
85
  {
80
86
  label: e("labels.frequencyOptions"),
81
87
  description: e("descriptions.frequencyOptionsDescription"),
82
- getOptionLabel: (t) => k[t] ?? t,
88
+ getOptionLabel: (t) => R[t] ?? t,
83
89
  validationMessages: { REQUIRED: e("validations.frequencyOptions") }
84
90
  }
85
91
  ),
@@ -87,9 +93,7 @@ function I({ onEvent: l, LoaderComponent: d, ...h }) {
87
93
  r.AnchorPayDate,
88
94
  {
89
95
  label: e("labels.firstPayDate"),
90
- description: e("descriptions.anchorPayDateDescription", {
91
- count: S
92
- }),
96
+ description: m ? m.anchorPayDateDescription : e("descriptions.anchorPayDateDescription", { count: b }),
93
97
  validationMessages: { REQUIRED: e("validations.firstPayDate") },
94
98
  minDate: /* @__PURE__ */ new Date()
95
99
  }
@@ -98,7 +102,7 @@ function I({ onEvent: l, LoaderComponent: d, ...h }) {
98
102
  r.AnchorEndOfPayPeriod,
99
103
  {
100
104
  label: e("labels.firstPayPeriodEndDate"),
101
- description: e("descriptions.anchorEndOfPayPeriodDescription"),
105
+ description: m?.anchorEndOfPayPeriodDescription ?? e("descriptions.anchorEndOfPayPeriodDescription"),
102
106
  validationMessages: { REQUIRED: e("validations.firstPayPeriodEndDate") }
103
107
  }
104
108
  ),
@@ -128,84 +132,84 @@ function I({ onEvent: l, LoaderComponent: d, ...h }) {
128
132
  label: e("labels.workweekStartDay"),
129
133
  placeholder: e("labels.workweekStartDayPlaceholder"),
130
134
  description: e("descriptions.workweekStartDayDescription"),
131
- getOptionLabel: (t) => E[t]
135
+ getOptionLabel: (t) => C[t]
132
136
  }
133
137
  )
134
138
  ] }) }),
135
- /* @__PURE__ */ a(u, { flexDirection: "column", gap: 4, justifyContent: "center", alignItems: "center", children: s && s[n] ? /* @__PURE__ */ c("div", { className: m.calendarContainer, children: [
136
- !g && /* @__PURE__ */ a(
137
- i.Select,
139
+ /* @__PURE__ */ a(p, { flexDirection: "column", gap: 4, justifyContent: "center", alignItems: "center", children: s && s[n] ? /* @__PURE__ */ y("div", { className: u.calendarContainer, "data-variant": c, children: [
140
+ !k && /* @__PURE__ */ a(
141
+ o.Select,
138
142
  {
139
143
  label: e("labels.preview"),
140
144
  placeholder: "",
141
145
  isRequired: !0,
142
- options: s.map((t, y) => ({
143
- value: String(y),
144
- label: P.formatPayPeriodRange(
146
+ options: s.map((t, h) => ({
147
+ value: String(h),
148
+ label: c === "management" ? `${t.startDate.toString()} — ${t.endDate.toString()}` : g.formatPayPeriodRange(
145
149
  t.startDate.toString(),
146
150
  t.endDate.toString()
147
151
  )
148
152
  })),
149
153
  value: String(n),
150
154
  onChange: (t) => {
151
- const y = Number(t);
152
- isNaN(y) || w(y);
155
+ const h = Number(t);
156
+ isNaN(h) || S(h);
153
157
  }
154
158
  }
155
159
  ),
156
160
  /* @__PURE__ */ a(
157
- i.CalendarPreview,
161
+ o.CalendarPreview,
158
162
  {
159
163
  dateRange: {
160
- start: p(s[n].startDate),
161
- end: p(s[n].endDate),
164
+ start: D(s[n].startDate),
165
+ end: D(s[n].endDate),
162
166
  label: e("payPreview.payPeriod") || "Pay Period"
163
167
  },
164
168
  highlightDates: [
165
169
  {
166
- date: p(s[n].checkDate),
170
+ date: D(s[n].checkDate),
167
171
  highlightColor: "primary",
168
172
  label: e("payPreview.payday") || "Payday"
169
173
  },
170
174
  {
171
- date: p(
175
+ date: D(
172
176
  s[n].runPayrollBy
173
177
  ),
174
178
  highlightColor: "secondary",
175
- label: e("payPreview.payrollDeadline") || "Payroll Deadline"
179
+ label: m?.payrollDeadline ?? e("payPreview.payrollDeadline")
176
180
  }
177
181
  ]
178
182
  },
179
183
  n
180
184
  )
181
- ] }) : /* @__PURE__ */ a("div", { className: m.calendarContainer, children: /* @__PURE__ */ a(
182
- i.Alert,
185
+ ] }) : /* @__PURE__ */ a("div", { className: u.calendarContainer, "data-variant": c, children: /* @__PURE__ */ a(
186
+ o.Alert,
183
187
  {
184
188
  status: "info",
185
189
  label: e("previewAlert.title", "Pay Schedule Preview"),
186
- children: /* @__PURE__ */ a(i.Text, { children: e(
190
+ children: /* @__PURE__ */ a(o.Text, { children: e(
187
191
  "previewAlert.description",
188
192
  "Complete all the required fields on the left to see a preview of your pay schedule."
189
193
  ) })
190
194
  }
191
195
  ) }) })
192
196
  ] }) }),
193
- /* @__PURE__ */ c(T, { children: [
197
+ /* @__PURE__ */ y(x, { children: [
194
198
  /* @__PURE__ */ a(
195
- i.Button,
199
+ o.Button,
196
200
  {
197
201
  variant: "secondary",
198
202
  onClick: () => {
199
- l(D.CANCEL);
203
+ l(f.CANCEL);
200
204
  },
201
205
  children: e("actions.cancel")
202
206
  }
203
207
  ),
204
- /* @__PURE__ */ a(i.Button, { type: "submit", isLoading: o.status.isPending, children: e("actions.save") })
208
+ /* @__PURE__ */ a(o.Button, { type: "submit", isLoading: i.status.isPending, children: e("actions.save") })
205
209
  ] })
206
210
  ] }) }) }) });
207
211
  }
208
212
  export {
209
- ee as PayScheduleForm
213
+ te as PayScheduleForm
210
214
  };
211
215
  //# sourceMappingURL=PayScheduleForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayScheduleForm.js","sources":["../../../../src/components/Company/PaySchedule/PayScheduleForm.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { usePayScheduleForm } from './shared/usePayScheduleForm'\nimport type {\n UsePayScheduleFormProps,\n PayScheduleFrequency,\n PayScheduleWorkweekStartDay,\n} from './shared/usePayScheduleForm'\nimport style from './PayScheduleForm.module.scss'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { Form } from '@/components/Common/Form'\nimport { Flex, Grid, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { normalizeToDate } from '@/helpers/dateFormatting'\nimport type { LoaderComponentType } from '@/components/Base'\n\ninterface PayScheduleFormProps extends UsePayScheduleFormProps {\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n// Pay period preview dates are RFCDate (`YYYY-MM-DD`) instances; normalizeToDate parses\n// them as local midnight instead of new Date's UTC midnight, which CalendarPreview would\n// otherwise roll back a day for timezones behind UTC. The format is always valid here.\nconst toLocalDate = (rfcDate: { toString(): string }): Date => normalizeToDate(rfcDate.toString())!\n\n/** @internal */\nexport function PayScheduleForm({ onEvent, LoaderComponent, ...hookProps }: PayScheduleFormProps) {\n return (\n <BaseBoundaries componentName=\"Company.PayScheduleForm\" LoaderComponent={LoaderComponent}>\n <PayScheduleFormRoot onEvent={onEvent} LoaderComponent={LoaderComponent} {...hookProps} />\n </BaseBoundaries>\n )\n}\n\nfunction PayScheduleFormRoot({ onEvent, LoaderComponent, ...hookProps }: PayScheduleFormProps) {\n const { t } = useTranslation('Company.PaySchedule')\n const Components = useComponentContext()\n const dateFormatter = useDateFormatter()\n const paySchedule = usePayScheduleForm(hookProps)\n const [selectedPayPeriodIndex, setSelectedPayPeriodIndex] = useState(0)\n\n if (paySchedule.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={paySchedule.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await paySchedule.actions.onSubmit()\n if (result) {\n onEvent(\n result.mode === 'create'\n ? componentEvents.PAY_SCHEDULE_CREATED\n : componentEvents.PAY_SCHEDULE_UPDATED,\n { paySchedule: result.data },\n )\n }\n }\n\n const { Fields } = paySchedule.form\n const { paymentSpeedDays, payPreviewLoading } = paySchedule.data\n const payPeriodPreview = paySchedule.data.payPeriodPreview\n\n const frequencyLabels: Record<PayScheduleFrequency, string> = {\n 'Every week': t('frequencies.everyWeek'),\n 'Every other week': t('frequencies.everyOtherWeek'),\n 'Twice per month': t('frequencies.twicePerMonth'),\n Monthly: t('frequencies.monthly'),\n }\n\n const twicePerMonthLabels: Record<string, string> = {\n '1st15th': t('frequencyOptions.15thAndLast'),\n custom: t('frequencyOptions.custom'),\n }\n\n const workweekStartDayLabels: Record<PayScheduleWorkweekStartDay, string> = {\n Sunday: t('workweekStartDayOptions.sunday'),\n Monday: t('workweekStartDayOptions.monday'),\n Tuesday: t('workweekStartDayOptions.tuesday'),\n Wednesday: t('workweekStartDayOptions.wednesday'),\n Thursday: t('workweekStartDayOptions.thursday'),\n Friday: t('workweekStartDayOptions.friday'),\n Saturday: t('workweekStartDayOptions.saturday'),\n }\n\n return (\n <BaseLayout error={paySchedule.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <SDKFormProvider formHookResult={paySchedule}>\n <Form onSubmit={() => void handleSubmit()}>\n <Flex flexDirection=\"column\">\n <Flex justifyContent=\"space-between\" flexDirection=\"column\" gap={4}>\n <header>\n <Components.Heading as=\"h2\">\n {paySchedule.status.mode === 'create'\n ? t('headings.addPaySchedule')\n : t('headings.editPaySchedule')}\n </Components.Heading>\n </header>\n </Flex>\n <div className={style.payScheduleContainer}>\n <Grid gap={32} gridTemplateColumns={{ base: '1fr', small: '1fr 1fr' }}>\n <div className={style.payScheduleForm}>\n <Flex flexDirection=\"column\">\n <Fields.CustomName\n label={t('labels.name')}\n validationMessages={{ REQUIRED: t('validations.name') }}\n />\n <Fields.Frequency\n label={t('labels.frequency')}\n placeholder={t('labels.frequencyPlaceholder')}\n getOptionLabel={(entry: PayScheduleFrequency) => frequencyLabels[entry]}\n validationMessages={{ REQUIRED: t('validations.frequency') }}\n />\n {Fields.CustomTwicePerMonth && (\n <Fields.CustomTwicePerMonth\n label={t('labels.frequencyOptions')}\n description={t('descriptions.frequencyOptionsDescription')}\n getOptionLabel={(entry: string) => twicePerMonthLabels[entry] ?? entry}\n validationMessages={{ REQUIRED: t('validations.frequencyOptions') }}\n />\n )}\n <Fields.AnchorPayDate\n label={t('labels.firstPayDate')}\n description={t('descriptions.anchorPayDateDescription', {\n count: paymentSpeedDays,\n })}\n validationMessages={{ REQUIRED: t('validations.firstPayDate') }}\n minDate={new Date()}\n />\n <Fields.AnchorEndOfPayPeriod\n label={t('labels.firstPayPeriodEndDate')}\n description={t('descriptions.anchorEndOfPayPeriodDescription')}\n validationMessages={{ REQUIRED: t('validations.firstPayPeriodEndDate') }}\n />\n {Fields.Day1 && (\n <Fields.Day1\n label={t('labels.firstPayDayOfTheMonth')}\n validationMessages={{\n REQUIRED: t('validations.firstPayDayOfTheMonth'),\n DAY_RANGE: t('validations.dayRange'),\n }}\n />\n )}\n {Fields.Day2 && (\n <Fields.Day2\n label={t('labels.lastPayDayOfTheMonth')}\n validationMessages={{\n REQUIRED: t('validations.lastPayDayOfTheMonth'),\n DAY_RANGE: t('validations.dayRange'),\n }}\n />\n )}\n {Fields.WorkweekStartDay && (\n <Fields.WorkweekStartDay\n label={t('labels.workweekStartDay')}\n placeholder={t('labels.workweekStartDayPlaceholder')}\n description={t('descriptions.workweekStartDayDescription')}\n getOptionLabel={(entry: PayScheduleWorkweekStartDay) =>\n workweekStartDayLabels[entry]\n }\n />\n )}\n </Flex>\n </div>\n <Flex flexDirection=\"column\" gap={4} justifyContent=\"center\" alignItems=\"center\">\n {payPeriodPreview && payPeriodPreview[selectedPayPeriodIndex] ? (\n <div className={style.calendarContainer}>\n {!payPreviewLoading && (\n <Components.Select\n label={t('labels.preview')}\n placeholder=\"\"\n isRequired\n options={payPeriodPreview.map((period, index) => ({\n value: String(index),\n label: dateFormatter.formatPayPeriodRange(\n period.startDate.toString(),\n period.endDate.toString(),\n ),\n }))}\n value={String(selectedPayPeriodIndex)}\n onChange={(value: string) => {\n const numericValue = Number(value)\n if (!isNaN(numericValue)) {\n setSelectedPayPeriodIndex(numericValue)\n }\n }}\n />\n )}\n <Components.CalendarPreview\n key={selectedPayPeriodIndex}\n dateRange={{\n start: toLocalDate(payPeriodPreview[selectedPayPeriodIndex].startDate),\n end: toLocalDate(payPeriodPreview[selectedPayPeriodIndex].endDate),\n label: t('payPreview.payPeriod') || 'Pay Period',\n }}\n highlightDates={[\n {\n date: toLocalDate(payPeriodPreview[selectedPayPeriodIndex].checkDate),\n highlightColor: 'primary',\n label: t('payPreview.payday') || 'Payday',\n },\n {\n date: toLocalDate(\n payPeriodPreview[selectedPayPeriodIndex].runPayrollBy,\n ),\n highlightColor: 'secondary',\n label: t('payPreview.payrollDeadline') || 'Payroll Deadline',\n },\n ]}\n />\n </div>\n ) : (\n <div className={style.calendarContainer}>\n <Components.Alert\n status=\"info\"\n label={t('previewAlert.title', 'Pay Schedule Preview')}\n >\n <Components.Text>\n {t(\n 'previewAlert.description',\n 'Complete all the required fields on the left to see a preview of your pay schedule.',\n )}\n </Components.Text>\n </Components.Alert>\n </div>\n )}\n </Flex>\n </Grid>\n </div>\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.CANCEL)\n }}\n >\n {t('actions.cancel')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={paySchedule.status.isPending}>\n {t('actions.save')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n )\n}\n"],"names":["toLocalDate","rfcDate","normalizeToDate","PayScheduleForm","onEvent","LoaderComponent","hookProps","jsx","BaseBoundaries","PayScheduleFormRoot","t","useTranslation","Components","useComponentContext","dateFormatter","useDateFormatter","paySchedule","usePayScheduleForm","selectedPayPeriodIndex","setSelectedPayPeriodIndex","useState","BaseLayout","handleSubmit","result","componentEvents","Fields","paymentSpeedDays","payPreviewLoading","payPeriodPreview","frequencyLabels","twicePerMonthLabels","workweekStartDayLabels","SDKFormProvider","Form","jsxs","Flex","style","Grid","entry","period","index","value","numericValue","ActionsLayout"],"mappings":"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"}
1
+ {"version":3,"file":"PayScheduleForm.js","sources":["../../../../src/components/Company/PaySchedule/PayScheduleForm.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { usePayScheduleForm } from './shared/usePayScheduleForm'\nimport type {\n UsePayScheduleFormProps,\n PayScheduleFrequency,\n PayScheduleWorkweekStartDay,\n} from './shared/usePayScheduleForm'\nimport style from './PayScheduleForm.module.scss'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { Form } from '@/components/Common/Form'\nimport { Flex, Grid, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { normalizeToDate } from '@/helpers/dateFormatting'\nimport type { LoaderComponentType } from '@/components/Base'\n\ninterface PayScheduleFormProps extends UsePayScheduleFormProps {\n variant?: 'onboarding' | 'management'\n copy?: {\n anchorPayDateDescription?: string\n anchorEndOfPayPeriodDescription: string\n payrollDeadline: string\n }\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n// Pay period preview dates are RFCDate (`YYYY-MM-DD`) instances; normalizeToDate parses\n// them as local midnight instead of new Date's UTC midnight, which CalendarPreview would\n// otherwise roll back a day for timezones behind UTC. The format is always valid here.\nconst toLocalDate = (rfcDate: { toString(): string }): Date => normalizeToDate(rfcDate.toString())!\n\n/** @internal */\nexport function PayScheduleForm({ onEvent, LoaderComponent, ...hookProps }: PayScheduleFormProps) {\n return (\n <BaseBoundaries componentName=\"Company.PayScheduleForm\" LoaderComponent={LoaderComponent}>\n <PayScheduleFormRoot onEvent={onEvent} LoaderComponent={LoaderComponent} {...hookProps} />\n </BaseBoundaries>\n )\n}\n\nfunction PayScheduleFormRoot({\n onEvent,\n LoaderComponent,\n variant = 'onboarding',\n copy,\n ...hookProps\n}: PayScheduleFormProps) {\n const { t } = useTranslation('Company.PaySchedule')\n const Components = useComponentContext()\n const dateFormatter = useDateFormatter()\n const paySchedule = usePayScheduleForm(hookProps)\n const [selectedPayPeriodIndex, setSelectedPayPeriodIndex] = useState(0)\n\n if (paySchedule.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={paySchedule.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await paySchedule.actions.onSubmit()\n if (result) {\n onEvent(\n result.mode === 'create'\n ? componentEvents.PAY_SCHEDULE_CREATED\n : componentEvents.PAY_SCHEDULE_UPDATED,\n { paySchedule: result.data },\n )\n }\n }\n\n const { Fields } = paySchedule.form\n const { paymentSpeedDays, payPreviewLoading } = paySchedule.data\n const payPeriodPreview = paySchedule.data.payPeriodPreview\n\n const frequencyLabels: Record<PayScheduleFrequency, string> = {\n 'Every week': t('frequencies.everyWeek'),\n 'Every other week': t('frequencies.everyOtherWeek'),\n 'Twice per month': t('frequencies.twicePerMonth'),\n Monthly: t('frequencies.monthly'),\n }\n\n const twicePerMonthLabels: Record<string, string> = {\n '1st15th': t('frequencyOptions.15thAndLast'),\n custom: t('frequencyOptions.custom'),\n }\n\n const workweekStartDayLabels: Record<PayScheduleWorkweekStartDay, string> = {\n Sunday: t('workweekStartDayOptions.sunday'),\n Monday: t('workweekStartDayOptions.monday'),\n Tuesday: t('workweekStartDayOptions.tuesday'),\n Wednesday: t('workweekStartDayOptions.wednesday'),\n Thursday: t('workweekStartDayOptions.thursday'),\n Friday: t('workweekStartDayOptions.friday'),\n Saturday: t('workweekStartDayOptions.saturday'),\n }\n\n return (\n <BaseLayout error={paySchedule.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <SDKFormProvider formHookResult={paySchedule}>\n <Form onSubmit={() => void handleSubmit()}>\n <Flex flexDirection=\"column\">\n <Flex justifyContent=\"space-between\" flexDirection=\"column\" gap={4}>\n <header>\n <Components.Heading as=\"h2\">\n {paySchedule.status.mode === 'create'\n ? t('headings.addPaySchedule')\n : t('headings.editPaySchedule')}\n </Components.Heading>\n </header>\n </Flex>\n <div className={style.payScheduleContainer}>\n <Grid gap={32} gridTemplateColumns={{ base: '1fr', small: '1fr 1fr' }}>\n <div className={style.payScheduleForm}>\n <Flex flexDirection=\"column\">\n <Fields.CustomName\n label={t('labels.name')}\n validationMessages={{ REQUIRED: t('validations.name') }}\n />\n <Fields.Frequency\n label={t('labels.frequency')}\n placeholder={t('labels.frequencyPlaceholder')}\n getOptionLabel={(entry: PayScheduleFrequency) => frequencyLabels[entry]}\n validationMessages={{ REQUIRED: t('validations.frequency') }}\n />\n {Fields.CustomTwicePerMonth && (\n <Fields.CustomTwicePerMonth\n label={t('labels.frequencyOptions')}\n description={t('descriptions.frequencyOptionsDescription')}\n getOptionLabel={(entry: string) => twicePerMonthLabels[entry] ?? entry}\n validationMessages={{ REQUIRED: t('validations.frequencyOptions') }}\n />\n )}\n <Fields.AnchorPayDate\n label={t('labels.firstPayDate')}\n description={\n copy\n ? copy.anchorPayDateDescription\n : t('descriptions.anchorPayDateDescription', { count: paymentSpeedDays })\n }\n validationMessages={{ REQUIRED: t('validations.firstPayDate') }}\n minDate={new Date()}\n />\n <Fields.AnchorEndOfPayPeriod\n label={t('labels.firstPayPeriodEndDate')}\n description={\n copy?.anchorEndOfPayPeriodDescription ??\n t('descriptions.anchorEndOfPayPeriodDescription')\n }\n validationMessages={{ REQUIRED: t('validations.firstPayPeriodEndDate') }}\n />\n {Fields.Day1 && (\n <Fields.Day1\n label={t('labels.firstPayDayOfTheMonth')}\n validationMessages={{\n REQUIRED: t('validations.firstPayDayOfTheMonth'),\n DAY_RANGE: t('validations.dayRange'),\n }}\n />\n )}\n {Fields.Day2 && (\n <Fields.Day2\n label={t('labels.lastPayDayOfTheMonth')}\n validationMessages={{\n REQUIRED: t('validations.lastPayDayOfTheMonth'),\n DAY_RANGE: t('validations.dayRange'),\n }}\n />\n )}\n {Fields.WorkweekStartDay && (\n <Fields.WorkweekStartDay\n label={t('labels.workweekStartDay')}\n placeholder={t('labels.workweekStartDayPlaceholder')}\n description={t('descriptions.workweekStartDayDescription')}\n getOptionLabel={(entry: PayScheduleWorkweekStartDay) =>\n workweekStartDayLabels[entry]\n }\n />\n )}\n </Flex>\n </div>\n <Flex flexDirection=\"column\" gap={4} justifyContent=\"center\" alignItems=\"center\">\n {payPeriodPreview && payPeriodPreview[selectedPayPeriodIndex] ? (\n <div className={style.calendarContainer} data-variant={variant}>\n {!payPreviewLoading && (\n <Components.Select\n label={t('labels.preview')}\n placeholder=\"\"\n isRequired\n options={payPeriodPreview.map((period, index) => ({\n value: String(index),\n label:\n variant === 'management'\n ? `${period.startDate.toString()} — ${period.endDate.toString()}`\n : dateFormatter.formatPayPeriodRange(\n period.startDate.toString(),\n period.endDate.toString(),\n ),\n }))}\n value={String(selectedPayPeriodIndex)}\n onChange={(value: string) => {\n const numericValue = Number(value)\n if (!isNaN(numericValue)) {\n setSelectedPayPeriodIndex(numericValue)\n }\n }}\n />\n )}\n <Components.CalendarPreview\n key={selectedPayPeriodIndex}\n dateRange={{\n start: toLocalDate(payPeriodPreview[selectedPayPeriodIndex].startDate),\n end: toLocalDate(payPeriodPreview[selectedPayPeriodIndex].endDate),\n label: t('payPreview.payPeriod') || 'Pay Period',\n }}\n highlightDates={[\n {\n date: toLocalDate(payPeriodPreview[selectedPayPeriodIndex].checkDate),\n highlightColor: 'primary',\n label: t('payPreview.payday') || 'Payday',\n },\n {\n date: toLocalDate(\n payPeriodPreview[selectedPayPeriodIndex].runPayrollBy,\n ),\n highlightColor: 'secondary',\n label: copy?.payrollDeadline ?? t('payPreview.payrollDeadline'),\n },\n ]}\n />\n </div>\n ) : (\n <div className={style.calendarContainer} data-variant={variant}>\n <Components.Alert\n status=\"info\"\n label={t('previewAlert.title', 'Pay Schedule Preview')}\n >\n <Components.Text>\n {t(\n 'previewAlert.description',\n 'Complete all the required fields on the left to see a preview of your pay schedule.',\n )}\n </Components.Text>\n </Components.Alert>\n </div>\n )}\n </Flex>\n </Grid>\n </div>\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.CANCEL)\n }}\n >\n {t('actions.cancel')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={paySchedule.status.isPending}>\n {t('actions.save')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n )\n}\n"],"names":["toLocalDate","rfcDate","normalizeToDate","PayScheduleForm","onEvent","LoaderComponent","hookProps","jsx","BaseBoundaries","PayScheduleFormRoot","variant","copy","t","useTranslation","Components","useComponentContext","dateFormatter","useDateFormatter","paySchedule","usePayScheduleForm","selectedPayPeriodIndex","setSelectedPayPeriodIndex","useState","BaseLayout","handleSubmit","result","componentEvents","Fields","paymentSpeedDays","payPreviewLoading","payPeriodPreview","frequencyLabels","twicePerMonthLabels","workweekStartDayLabels","SDKFormProvider","Form","jsxs","Flex","style","Grid","entry","period","index","value","numericValue","ActionsLayout"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- const e = "_payScheduleContainer_1glwl_1", a = "_payScheduleForm_1glwl_5", n = "_calendarContainer_1glwl_9", l = {
1
+ const e = "_payScheduleContainer_6fjx0_1", a = "_payScheduleForm_6fjx0_5", n = "_calendarContainer_6fjx0_9", o = {
2
2
  payScheduleContainer: e,
3
3
  payScheduleForm: a,
4
4
  calendarContainer: n
5
5
  };
6
6
  export {
7
7
  n as calendarContainer,
8
- l as default,
8
+ o as default,
9
9
  e as payScheduleContainer,
10
10
  a as payScheduleForm
11
11
  };
@@ -1,141 +1,153 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { useState as C, useMemo as _, useEffect as U } from "react";
3
- import { usePaySchedulesGetAllSuspense as T } from "@gusto/embedded-api/react-query/paySchedulesGetAll";
2
+ import { useTranslation as C } from "react-i18next";
3
+ import { useState as _, useMemo as U, useEffect as T } from "react";
4
+ import { usePaySchedulesGetAllSuspense as D } from "@gusto/embedded-api/react-query/paySchedulesGetAll";
4
5
  import { usePaySchedulesPreviewAssignmentMutation as L } from "@gusto/embedded-api/react-query/paySchedulesPreviewAssignment";
5
6
  import { usePaySchedulesAssignMutation as v } from "@gusto/embedded-api/react-query/paySchedulesAssign";
6
- import { PayScheduleAssignmentBodyType as l } from "@gusto/embedded-api/models/components/payscheduleassignmentbody";
7
- import { AssignmentTypeStepPresentation as D } from "./AssignmentTypeStepPresentation.js";
8
- import { AssignmentScheduleStepPresentation as H } from "./AssignmentScheduleStepPresentation.js";
9
- import { AssignmentCompensationStepPresentation as N } from "./AssignmentCompensationStepPresentation.js";
10
- import { AssignmentReviewStepPresentation as I } from "./AssignmentReviewStepPresentation.js";
11
- import { PayScheduleForm as B } from "../../PayScheduleForm.js";
12
- import { useFlow as A } from "../../../../Flow/useFlow.js";
7
+ import { PayScheduleAssignmentBodyType as m } from "@gusto/embedded-api/models/components/payscheduleassignmentbody";
8
+ import { AssignmentTypeStepPresentation as H } from "./AssignmentTypeStepPresentation.js";
9
+ import { AssignmentScheduleStepPresentation as N } from "./AssignmentScheduleStepPresentation.js";
10
+ import { AssignmentCompensationStepPresentation as I } from "./AssignmentCompensationStepPresentation.js";
11
+ import { AssignmentReviewStepPresentation as B } from "./AssignmentReviewStepPresentation.js";
12
+ import { PayScheduleForm as M } from "../../PayScheduleForm.js";
13
+ import { useFlow as h } from "../../../../Flow/useFlow.js";
13
14
  import { BaseLayout as Y } from "../../../../Base/Base.js";
14
15
  import { useBase as w } from "../../../../Base/useBase.js";
15
- import { ensureRequired as i } from "../../../../../helpers/ensureRequired.js";
16
- import { componentEvents as n } from "../../../../../shared/constants.js";
17
- function X() {
18
- const { assignmentType: t, onEvent: o } = A();
16
+ import { ensureRequired as a } from "../../../../../helpers/ensureRequired.js";
17
+ import { componentEvents as t } from "../../../../../shared/constants.js";
18
+ function $() {
19
+ const { assignmentType: n, onEvent: o } = h();
19
20
  return /* @__PURE__ */ r(
20
- D,
21
+ H,
21
22
  {
22
- defaultType: t,
23
+ defaultType: n,
23
24
  onBack: () => {
24
- o(n.PAY_SCHEDULE_ASSIGNMENT_CANCEL);
25
+ o(t.PAY_SCHEDULE_ASSIGNMENT_CANCEL);
25
26
  },
26
- onContinue: (u) => {
27
- o(n.PAY_SCHEDULE_ASSIGNMENT_TYPE_SELECTED, { type: u });
27
+ onContinue: (s) => {
28
+ o(t.PAY_SCHEDULE_ASSIGNMENT_TYPE_SELECTED, { type: s });
28
29
  }
29
30
  }
30
31
  );
31
32
  }
32
- function Z() {
33
+ function ee() {
33
34
  const {
34
- companyId: t,
35
+ companyId: n,
35
36
  assignmentType: o,
36
- defaultPayScheduleUuid: u,
37
+ defaultPayScheduleUuid: s,
37
38
  hourlyPayScheduleUuid: y,
38
39
  salariedPayScheduleUuid: p,
39
- onEvent: s
40
- } = A(), { data: d } = T({
41
- companyId: i(t)
42
- }), a = d.payScheduleShowResponse ?? [], S = a.find((e) => e.active), c = (e) => a.some((h) => h.uuid === e) ? e : S?.uuid;
43
- return o === l.HourlySalaried ? /* @__PURE__ */ r(
44
- N,
40
+ onEvent: i
41
+ } = h(), { data: d } = D({
42
+ companyId: a(n)
43
+ }), u = d.payScheduleShowResponse ?? [], S = u.find((e) => e.active), c = (e) => u.some((A) => A.uuid === e) ? e : S?.uuid;
44
+ return o === m.HourlySalaried ? /* @__PURE__ */ r(
45
+ I,
45
46
  {
46
- schedules: a,
47
+ schedules: u,
47
48
  hourlyPayScheduleUuid: c(y),
48
49
  salariedPayScheduleUuid: c(p),
49
50
  onBack: () => {
50
- s(n.PAY_SCHEDULE_ASSIGNMENT_BACK);
51
+ i(t.PAY_SCHEDULE_ASSIGNMENT_BACK);
51
52
  },
52
53
  onAddPaySchedule: () => {
53
- s(n.PAY_SCHEDULE_CREATE);
54
+ i(t.PAY_SCHEDULE_CREATE);
54
55
  },
55
56
  onContinue: (e) => {
56
- s(n.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED, e);
57
+ i(t.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED, e);
57
58
  }
58
59
  }
59
60
  ) : /* @__PURE__ */ r(
60
- H,
61
+ N,
61
62
  {
62
- schedules: a,
63
- defaultPayScheduleUuid: c(u),
63
+ schedules: u,
64
+ defaultPayScheduleUuid: c(s),
64
65
  onBack: () => {
65
- s(n.PAY_SCHEDULE_ASSIGNMENT_BACK);
66
+ i(t.PAY_SCHEDULE_ASSIGNMENT_BACK);
66
67
  },
67
68
  onAddPaySchedule: () => {
68
- s(n.PAY_SCHEDULE_CREATE);
69
+ i(t.PAY_SCHEDULE_CREATE);
69
70
  },
70
71
  onContinue: (e) => {
71
- s(n.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED, {
72
+ i(t.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED, {
72
73
  defaultPayScheduleUuid: e
73
74
  });
74
75
  }
75
76
  }
76
77
  );
77
78
  }
78
- function $() {
79
- const { companyId: t, onEvent: o } = A();
80
- return /* @__PURE__ */ r(B, { companyId: i(t), onEvent: o });
79
+ function ne() {
80
+ const { t: n } = C("Company.Management.PayScheduleAssignment"), { companyId: o, onEvent: s } = h();
81
+ return /* @__PURE__ */ r(
82
+ M,
83
+ {
84
+ variant: "management",
85
+ companyId: a(o),
86
+ onEvent: s,
87
+ copy: {
88
+ anchorEndOfPayPeriodDescription: n("scheduleForm.anchorEndOfPayPeriodDescription"),
89
+ payrollDeadline: n("scheduleForm.payrollDeadline")
90
+ }
91
+ }
92
+ );
81
93
  }
82
- function ee() {
94
+ function te() {
83
95
  const {
84
- companyId: t,
96
+ companyId: n,
85
97
  assignmentType: o,
86
- defaultPayScheduleUuid: u,
98
+ defaultPayScheduleUuid: s,
87
99
  hourlyPayScheduleUuid: y,
88
100
  salariedPayScheduleUuid: p,
89
- onEvent: s
90
- } = A(), { baseSubmitHandler: d, error: a } = w(), [S, c] = C(null), { mutateAsync: e, isPending: h } = L(), { mutateAsync: f, isPending: g } = v(), E = _(() => {
91
- if (o === l.HourlySalaried) {
92
- const m = i(y), P = i(p);
93
- return m === P ? {
94
- type: l.Single,
95
- defaultPayScheduleUuid: m
101
+ onEvent: i
102
+ } = h(), { baseSubmitHandler: d, error: u } = w(), [S, c] = _(null), { mutateAsync: e, isPending: A } = L(), { mutateAsync: f, isPending: g } = v(), E = U(() => {
103
+ if (o === m.HourlySalaried) {
104
+ const l = a(y), P = a(p);
105
+ return l === P ? {
106
+ type: m.Single,
107
+ defaultPayScheduleUuid: l
96
108
  } : {
97
- type: l.HourlySalaried,
98
- hourlyPayScheduleUuid: m,
109
+ type: m.HourlySalaried,
110
+ hourlyPayScheduleUuid: l,
99
111
  salariedPayScheduleUuid: P
100
112
  };
101
113
  }
102
114
  return {
103
- type: l.Single,
104
- defaultPayScheduleUuid: i(u)
115
+ type: m.Single,
116
+ defaultPayScheduleUuid: a(s)
105
117
  };
106
- }, [o, u, y, p]);
107
- return U(() => {
118
+ }, [o, s, y, p]);
119
+ return T(() => {
108
120
  d(void 0, async () => {
109
- const m = await e({
110
- request: { companyId: i(t), payScheduleAssignmentBody: E }
121
+ const l = await e({
122
+ request: { companyId: a(n), payScheduleAssignmentBody: E }
111
123
  });
112
- c(m.payScheduleAssignmentPreview?.employeeChanges ?? []);
124
+ c(l.payScheduleAssignmentPreview?.employeeChanges ?? []);
113
125
  });
114
- }, [t, E, e, d]), a ? null : h || !S ? /* @__PURE__ */ r(Y, { isLoading: !0 }) : /* @__PURE__ */ r(
115
- I,
126
+ }, [n, E, e, d]), u ? null : A || !S ? /* @__PURE__ */ r(Y, { isLoading: !0 }) : /* @__PURE__ */ r(
127
+ B,
116
128
  {
117
129
  employeeChanges: S,
118
130
  isSubmitting: g,
119
131
  onBack: () => {
120
- s(n.PAY_SCHEDULE_ASSIGNMENT_BACK);
132
+ i(t.PAY_SCHEDULE_ASSIGNMENT_BACK);
121
133
  },
122
134
  onSubmit: () => {
123
135
  d(void 0, async () => {
124
136
  await f({
125
137
  request: {
126
- companyId: i(t),
138
+ companyId: a(n),
127
139
  payScheduleAssignmentBody: E
128
140
  }
129
- }), s(n.PAY_SCHEDULE_ASSIGNED, { ...E, employeeChanges: S });
141
+ }), i(t.PAY_SCHEDULE_ASSIGNED, { ...E, employeeChanges: S });
130
142
  });
131
143
  }
132
144
  }
133
145
  );
134
146
  }
135
147
  export {
136
- $ as AssignmentCreateScheduleStep,
137
- ee as AssignmentReviewStep,
138
- Z as AssignmentScheduleStep,
139
- X as AssignmentTypeStep
148
+ ne as AssignmentCreateScheduleStep,
149
+ te as AssignmentReviewStep,
150
+ ee as AssignmentScheduleStep,
151
+ $ as AssignmentTypeStep
140
152
  };
141
153
  //# sourceMappingURL=PayScheduleAssignmentComponents.js.map