@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 +1 @@
1
- {"version":3,"file":"OffCycleReasonSelectionPresentation.js","sources":["../../../../src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { OffCycleReason } from './types'\nimport { RadioGroupField } from '@/components/Common'\n\ninterface OffCycleReasonSelectionPresentationProps {\n name: string\n onChange?: (value: OffCycleReason) => void\n /** CSS class name applied to the root element. */\n className?: string\n}\n\n/** @internal */\nexport function OffCycleReasonSelectionPresentation({\n name,\n onChange,\n className,\n}: OffCycleReasonSelectionPresentationProps) {\n const { t } = useTranslation('Payroll.OffCycleReasonSelection')\n\n const options = useMemo(\n () => [\n {\n value: 'correction' as OffCycleReason,\n label: t('options.correction.label'),\n description: t('options.correction.description'),\n },\n {\n value: 'bonus' as OffCycleReason,\n label: t('options.bonus.label'),\n description: t('options.bonus.description'),\n },\n ],\n [t],\n )\n\n return (\n <RadioGroupField<OffCycleReason>\n name={name}\n label={t('title')}\n options={options}\n isRequired\n onChange={onChange}\n className={className}\n />\n )\n}\n"],"names":["OffCycleReasonSelectionPresentation","name","onChange","className","t","useTranslation","options","useMemo","jsx","RadioGroupField"],"mappings":";;;;;;AAaO,SAASA,EAAoC;AAAA,EAClD,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AACF,GAA6C;AAC3C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,iCAAiC,GAExDC,IAAUC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,OAAO;AAAA,QACP,OAAOH,EAAE,0BAA0B;AAAA,QACnC,aAAaA,EAAE,gCAAgC;AAAA,MAAA;AAAA,MAEjD;AAAA,QACE,OAAO;AAAA,QACP,OAAOA,EAAE,qBAAqB;AAAA,QAC9B,aAAaA,EAAE,2BAA2B;AAAA,MAAA;AAAA,IAC5C;AAAA,IAEF,CAACA,CAAC;AAAA,EAAA;AAGJ,SACE,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAR;AAAA,MACA,OAAOG,EAAE,OAAO;AAAA,MAChB,SAAAE;AAAA,MACA,YAAU;AAAA,MACV,UAAAJ;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"OffCycleReasonSelectionPresentation.js","sources":["../../../../src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { OffCycleReason } from './types'\nimport { RadioGroupField } from '@/components/Common'\n\ninterface OffCycleReasonSelectionPresentationProps {\n name: string\n onChange?: (value: OffCycleReason) => void\n /** CSS class name applied to the root element. */\n className?: string\n}\n\n/** @internal */\nexport function OffCycleReasonSelectionPresentation({\n name,\n onChange,\n className,\n}: OffCycleReasonSelectionPresentationProps) {\n const { t } = useTranslation('Payroll.OffCycleReasonSelection')\n\n const options = useMemo(\n () => [\n {\n value: 'correction' as OffCycleReason,\n label: t('options.correction.label'),\n description: t('options.correction.description'),\n },\n {\n value: 'bonus' as OffCycleReason,\n label: t('options.bonus.label'),\n description: t('options.bonus.description'),\n },\n ],\n [t],\n )\n\n return (\n <RadioGroupField<OffCycleReason>\n name={name}\n label={t('title')}\n options={options}\n isRequired\n onChange={onChange}\n className={className}\n />\n )\n}\n"],"names":["OffCycleReasonSelectionPresentation","name","onChange","className","t","useTranslation","options","useMemo","jsx","RadioGroupField"],"mappings":";;;;AAaO,SAASA,EAAoC;AAAA,EAClD,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AACF,GAA6C;AAC3C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,iCAAiC,GAExDC,IAAUC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,OAAO;AAAA,QACP,OAAOH,EAAE,0BAA0B;AAAA,QACnC,aAAaA,EAAE,gCAAgC;AAAA,MAAA;AAAA,MAEjD;AAAA,QACE,OAAO;AAAA,QACP,OAAOA,EAAE,qBAAqB;AAAA,QAC9B,aAAaA,EAAE,2BAA2B;AAAA,MAAA;AAAA,IAC5C;AAAA,IAEF,CAACA,CAAC;AAAA,EAAA;AAGJ,SACE,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAR;AAAA,MACA,OAAOG,EAAE,OAAO;AAAA,MAChB,SAAAE;AAAA,MACA,YAAU;AAAA,MACV,UAAAJ;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -5,24 +5,22 @@ import { useTranslation as L } from "react-i18next";
5
5
  import { WithholdingPayPeriod as N } from "@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls";
6
6
  import { WITHHOLDING_PAY_PERIOD_I18N_KEY as p } from "../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js";
7
7
  import t from "./OffCycleTaxWithholdingModal.module.scss.js";
8
- import "classnames";
9
- import "../../../shared/constants.js";
10
8
  import { ActionsLayout as T } from "../../Common/ActionsLayout/ActionsLayout.js";
11
9
  import { useComponentContext as W } from "../../../contexts/ComponentAdapter/useComponentContext.js";
12
10
  import { useI18n as w } from "../../../i18n/I18n.js";
13
11
  import { SelectField as D } from "../../Common/Fields/SelectField/SelectField.js";
14
12
  import { RadioGroupField as H } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
15
- function z({
13
+ function Y({
16
14
  isOpen: h,
17
15
  defaultConfig: f,
18
16
  onDone: g,
19
- onCancel: n
17
+ onCancel: r
20
18
  }) {
21
19
  w("Payroll.OffCycleTaxWithholding");
22
- const { t: e } = L("Payroll.OffCycleTaxWithholding"), { Modal: y, Heading: i, Text: a, Button: d } = W(), s = R(null), r = C({
20
+ const { t: e } = L("Payroll.OffCycleTaxWithholding"), { Modal: y, Heading: i, Text: a, Button: d } = W(), s = R(null), n = C({
23
21
  defaultValues: f
24
22
  }), S = x({
25
- control: r.control,
23
+ control: n.control,
26
24
  name: "withholdingPayPeriod"
27
25
  }), b = u(
28
26
  () => Object.values(N).map((m) => ({
@@ -48,18 +46,18 @@ function z({
48
46
  }
49
47
  ],
50
48
  [e, c]
51
- ), v = r.handleSubmit(g);
49
+ ), v = n.handleSubmit(g);
52
50
  return /* @__PURE__ */ o(
53
51
  y,
54
52
  {
55
53
  isOpen: h,
56
- onClose: n,
54
+ onClose: r,
57
55
  containerRef: s,
58
56
  footer: /* @__PURE__ */ l(T, { children: [
59
- /* @__PURE__ */ o(d, { variant: "secondary", onClick: n, children: e("modal.cancelButton") }),
57
+ /* @__PURE__ */ o(d, { variant: "secondary", onClick: r, children: e("modal.cancelButton") }),
60
58
  /* @__PURE__ */ o(d, { variant: "primary", onClick: v, children: e("modal.doneButton") })
61
59
  ] }),
62
- children: /* @__PURE__ */ o(O, { ...r, children: /* @__PURE__ */ l("div", { className: t.content, children: [
60
+ children: /* @__PURE__ */ o(O, { ...n, children: /* @__PURE__ */ l("div", { className: t.content, children: [
63
61
  /* @__PURE__ */ o(i, { as: "h2", children: e("modal.title") }),
64
62
  /* @__PURE__ */ l("div", { className: t.section, children: [
65
63
  /* @__PURE__ */ o(i, { as: "h3", children: e("modal.regularSection.title") }),
@@ -98,6 +96,6 @@ function z({
98
96
  );
99
97
  }
100
98
  export {
101
- z as OffCycleTaxWithholdingModal
99
+ Y as OffCycleTaxWithholdingModal
102
100
  };
103
101
  //# sourceMappingURL=OffCycleTaxWithholdingModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OffCycleTaxWithholdingModal.js","sources":["../../../../src/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { WithholdingPayPeriod } from '@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls'\nimport { WITHHOLDING_PAY_PERIOD_I18N_KEY } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport type { OffCycleTaxWithholdingConfig } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport styles from './OffCycleTaxWithholdingModal.module.scss'\nimport type { OffCycleTaxWithholdingModalProps } from './OffCycleTaxWithholdingModalTypes'\nimport { ActionsLayout, SelectField, RadioGroupField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\n/** @internal */\nexport function OffCycleTaxWithholdingModal({\n isOpen,\n defaultConfig,\n onDone,\n onCancel,\n}: OffCycleTaxWithholdingModalProps) {\n useI18n('Payroll.OffCycleTaxWithholding')\n const { t } = useTranslation('Payroll.OffCycleTaxWithholding')\n const { Modal, Heading, Text, Button } = useComponentContext()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const formHandlers = useForm<OffCycleTaxWithholdingConfig>({\n defaultValues: defaultConfig,\n })\n\n const currentWithholdingPayPeriod = useWatch({\n control: formHandlers.control,\n name: 'withholdingPayPeriod',\n })\n\n const frequencyOptions = useMemo(\n () =>\n Object.values(WithholdingPayPeriod).map(value => ({\n value,\n label: t(WITHHOLDING_PAY_PERIOD_I18N_KEY[value]),\n })),\n [t],\n )\n\n const frequencyDisplayText = t(\n WITHHOLDING_PAY_PERIOD_I18N_KEY[currentWithholdingPayPeriod],\n ).toLowerCase()\n\n const withholdingRateOptions = useMemo(\n () => [\n {\n value: 'supplemental' as const,\n label: t('modal.supplementalSection.useSupplementalRate'),\n description: t('modal.supplementalSection.useSupplementalRateDescription'),\n },\n {\n value: 'regular' as const,\n label: t('modal.supplementalSection.useRegularRate', {\n frequency: frequencyDisplayText,\n }),\n description: t('modal.supplementalSection.useRegularRateDescription'),\n },\n ],\n [t, frequencyDisplayText],\n )\n\n const handleSubmit = formHandlers.handleSubmit(onDone)\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('modal.cancelButton')}\n </Button>\n <Button variant=\"primary\" onClick={handleSubmit}>\n {t('modal.doneButton')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.content}>\n <Heading as=\"h2\">{t('modal.title')}</Heading>\n\n <div className={styles.section}>\n <Heading as=\"h3\">{t('modal.regularSection.title')}</Heading>\n <Text variant=\"supporting\">{t('modal.regularSection.subtitle')}</Text>\n\n <div className={styles.rateInfo}>\n <Text weight=\"semibold\">{t('modal.regularSection.rateLabel')}</Text>\n <Text variant=\"supporting\">{t('modal.regularSection.rateDescription')}</Text>\n </div>\n\n <SelectField\n name=\"withholdingPayPeriod\"\n label={t('modal.regularSection.rateLabel')}\n placeholder={t('modal.regularSection.ratePlaceholder')}\n options={frequencyOptions}\n shouldVisuallyHideLabel\n portalContainer={modalContainerRef.current ?? undefined}\n />\n </div>\n\n <hr className={styles.divider} />\n\n <div className={styles.section}>\n <Heading as=\"h3\">{t('modal.supplementalSection.title')}</Heading>\n <RadioGroupField\n name=\"withholdingRate\"\n label={t('modal.supplementalSection.title')}\n options={withholdingRateOptions}\n shouldVisuallyHideLabel\n />\n </div>\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["OffCycleTaxWithholdingModal","isOpen","defaultConfig","onDone","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","useComponentContext","modalContainerRef","useRef","formHandlers","useForm","currentWithholdingPayPeriod","useWatch","frequencyOptions","useMemo","WithholdingPayPeriod","value","WITHHOLDING_PAY_PERIOD_I18N_KEY","frequencyDisplayText","withholdingRateOptions","handleSubmit","jsx","ActionsLayout","FormProvider","styles","jsxs","SelectField","RadioGroupField"],"mappings":"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"}
1
+ {"version":3,"file":"OffCycleTaxWithholdingModal.js","sources":["../../../../src/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { WithholdingPayPeriod } from '@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls'\nimport { WITHHOLDING_PAY_PERIOD_I18N_KEY } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport type { OffCycleTaxWithholdingConfig } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport styles from './OffCycleTaxWithholdingModal.module.scss'\nimport type { OffCycleTaxWithholdingModalProps } from './OffCycleTaxWithholdingModalTypes'\nimport { ActionsLayout, SelectField, RadioGroupField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\n/** @internal */\nexport function OffCycleTaxWithholdingModal({\n isOpen,\n defaultConfig,\n onDone,\n onCancel,\n}: OffCycleTaxWithholdingModalProps) {\n useI18n('Payroll.OffCycleTaxWithholding')\n const { t } = useTranslation('Payroll.OffCycleTaxWithholding')\n const { Modal, Heading, Text, Button } = useComponentContext()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const formHandlers = useForm<OffCycleTaxWithholdingConfig>({\n defaultValues: defaultConfig,\n })\n\n const currentWithholdingPayPeriod = useWatch({\n control: formHandlers.control,\n name: 'withholdingPayPeriod',\n })\n\n const frequencyOptions = useMemo(\n () =>\n Object.values(WithholdingPayPeriod).map(value => ({\n value,\n label: t(WITHHOLDING_PAY_PERIOD_I18N_KEY[value]),\n })),\n [t],\n )\n\n const frequencyDisplayText = t(\n WITHHOLDING_PAY_PERIOD_I18N_KEY[currentWithholdingPayPeriod],\n ).toLowerCase()\n\n const withholdingRateOptions = useMemo(\n () => [\n {\n value: 'supplemental' as const,\n label: t('modal.supplementalSection.useSupplementalRate'),\n description: t('modal.supplementalSection.useSupplementalRateDescription'),\n },\n {\n value: 'regular' as const,\n label: t('modal.supplementalSection.useRegularRate', {\n frequency: frequencyDisplayText,\n }),\n description: t('modal.supplementalSection.useRegularRateDescription'),\n },\n ],\n [t, frequencyDisplayText],\n )\n\n const handleSubmit = formHandlers.handleSubmit(onDone)\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('modal.cancelButton')}\n </Button>\n <Button variant=\"primary\" onClick={handleSubmit}>\n {t('modal.doneButton')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.content}>\n <Heading as=\"h2\">{t('modal.title')}</Heading>\n\n <div className={styles.section}>\n <Heading as=\"h3\">{t('modal.regularSection.title')}</Heading>\n <Text variant=\"supporting\">{t('modal.regularSection.subtitle')}</Text>\n\n <div className={styles.rateInfo}>\n <Text weight=\"semibold\">{t('modal.regularSection.rateLabel')}</Text>\n <Text variant=\"supporting\">{t('modal.regularSection.rateDescription')}</Text>\n </div>\n\n <SelectField\n name=\"withholdingPayPeriod\"\n label={t('modal.regularSection.rateLabel')}\n placeholder={t('modal.regularSection.ratePlaceholder')}\n options={frequencyOptions}\n shouldVisuallyHideLabel\n portalContainer={modalContainerRef.current ?? undefined}\n />\n </div>\n\n <hr className={styles.divider} />\n\n <div className={styles.section}>\n <Heading as=\"h3\">{t('modal.supplementalSection.title')}</Heading>\n <RadioGroupField\n name=\"withholdingRate\"\n label={t('modal.supplementalSection.title')}\n options={withholdingRateOptions}\n shouldVisuallyHideLabel\n />\n </div>\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["OffCycleTaxWithholdingModal","isOpen","defaultConfig","onDone","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","useComponentContext","modalContainerRef","useRef","formHandlers","useForm","currentWithholdingPayPeriod","useWatch","frequencyOptions","useMemo","WithholdingPayPeriod","value","WITHHOLDING_PAY_PERIOD_I18N_KEY","frequencyDisplayText","withholdingRateOptions","handleSubmit","jsx","ActionsLayout","FormProvider","styles","jsxs","SelectField","RadioGroupField"],"mappings":"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"}
@@ -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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"}