@gusto/embedded-react-sdk 0.12.3 → 0.13.1

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 (212) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/_virtual/dynamic-import-helper.js +8 -1
  3. package/dist/_virtual/dynamic-import-helper.js.map +1 -1
  4. package/dist/assets/icons/spinner_small.svg.js +10 -0
  5. package/dist/assets/icons/spinner_small.svg.js.map +1 -0
  6. package/dist/components/Base/Base.js +28 -27
  7. package/dist/components/Base/Base.js.map +1 -1
  8. package/dist/components/Base/useBase.d.ts +2 -0
  9. package/dist/components/Base/useBase.js.map +1 -1
  10. package/dist/components/Common/DataView/DataView.d.ts +2 -1
  11. package/dist/components/Common/DataView/DataView.js +20 -19
  12. package/dist/components/Common/DataView/DataView.js.map +1 -1
  13. package/dist/components/Common/DataView/useDataView.d.ts +3 -1
  14. package/dist/components/Common/DataView/useDataView.js +13 -11
  15. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  16. package/dist/components/Common/EmptyData/EmptyData.module.scss.js +1 -1
  17. package/dist/components/Common/FieldDescription/FieldDescription.js +7 -14
  18. package/dist/components/Common/FieldDescription/FieldDescription.js.map +1 -1
  19. package/dist/components/Common/Fields/hooks/useField.d.ts +4 -1
  20. package/dist/components/Common/Fields/hooks/useField.js +31 -24
  21. package/dist/components/Common/Fields/hooks/useField.js.map +1 -1
  22. package/dist/components/Common/InlineSpinner/InlineSpinner.d.ts +6 -0
  23. package/dist/components/Common/InlineSpinner/InlineSpinner.js +25 -0
  24. package/dist/components/Common/InlineSpinner/InlineSpinner.js.map +1 -0
  25. package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js +10 -0
  26. package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js.map +1 -0
  27. package/dist/components/Common/InlineSpinner/index.d.ts +2 -0
  28. package/dist/components/Common/PaginationControl/PaginationControl.js +31 -28
  29. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  30. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -0
  31. package/dist/components/Common/SignatureForm/SignatureForm.js +1 -1
  32. package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +1 -1
  33. package/dist/components/Common/UI/DatePicker/DatePicker.js +1 -1
  34. package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
  35. package/dist/components/Common/UI/Tabs/Tabs.d.ts +7 -0
  36. package/dist/components/Common/UI/Tabs/Tabs.js +25 -0
  37. package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -0
  38. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +8 -0
  39. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js.map +1 -0
  40. package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +51 -0
  41. package/dist/components/Common/UI/Tabs/index.d.ts +3 -0
  42. package/dist/components/Common/hooks/useNumberFormatter.js +1 -1
  43. package/dist/components/Common/index.d.ts +1 -0
  44. package/dist/components/Company/AssignSignatory/AssignSignatory.js +1 -1
  45. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +5 -5
  46. package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +2 -2
  47. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +9 -3
  48. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  49. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +4 -4
  50. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +9 -3
  51. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  52. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +11 -5
  53. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  54. package/dist/components/Company/BankAccount/BankAccount.js +1 -1
  55. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +2 -2
  56. package/dist/components/Company/BankAccount/BankAccountForm/context.js +9 -3
  57. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  58. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +1 -1
  59. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +2 -2
  60. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -2
  61. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +9 -3
  62. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  63. package/dist/components/Company/DocumentSigner/DocumentSigner.js +1 -1
  64. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
  65. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
  66. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  67. package/dist/components/Company/FederalTaxes/FederalTaxes.js +3 -3
  68. package/dist/components/Company/FederalTaxes/Form.js +1 -1
  69. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +18 -12
  70. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  71. package/dist/components/Company/Industry/Context.js +12 -6
  72. package/dist/components/Company/Industry/Context.js.map +1 -1
  73. package/dist/components/Company/Industry/Industry.js +2 -2
  74. package/dist/components/Company/Locations/LocationForm/LocationForm.js +4 -4
  75. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +9 -3
  76. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  77. package/dist/components/Company/Locations/LocationsList/LocationsList.js +1 -1
  78. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +9 -3
  79. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  80. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +1 -1
  81. package/dist/components/Company/OnboardingOverview/context.js +9 -3
  82. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  83. package/dist/components/Company/PaySchedule/PaySchedule.js +5 -5
  84. package/dist/components/Company/PaySchedule/usePaySchedule.js +12 -6
  85. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  86. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +3 -3
  87. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +9 -3
  88. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  89. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +1 -1
  90. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +9 -3
  91. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  92. package/dist/components/Contractor/Address/Address.js +4 -4
  93. package/dist/components/Contractor/Address/useAddress.js +11 -5
  94. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  95. package/dist/components/Contractor/ContractorList/index.js +1 -1
  96. package/dist/components/Contractor/ContractorList/useContractorList.js +1 -1
  97. package/dist/components/Contractor/NewHireReport/NewHireReport.js +52 -50
  98. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  99. package/dist/components/Contractor/NewHireReport/types.d.ts +1 -0
  100. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +19 -12
  101. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  102. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +6 -5
  103. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  104. package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +4 -4
  105. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +7 -7
  106. package/dist/components/Contractor/Profile/ContractorProfile.js +1 -1
  107. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +19 -19
  108. package/dist/components/Contractor/Profile/useContractorProfile.js +40 -35
  109. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  110. package/dist/components/Contractor/Submit/Submit.js +25 -25
  111. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  112. package/dist/components/Employee/Compensation/Compensation.js +10 -10
  113. package/dist/components/Employee/Deductions/Deductions.js +1 -1
  114. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +4 -4
  115. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +2 -2
  116. package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js +1 -1
  117. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +1 -1
  118. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +9 -3
  119. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  120. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
  121. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
  122. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  123. package/dist/components/Employee/EmployeeList/EmployeeList.js +75 -62
  124. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  125. package/dist/components/Employee/EmployeeList/List.js +27 -25
  126. package/dist/components/Employee/EmployeeList/List.js.map +1 -1
  127. package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +1 -0
  128. package/dist/components/Employee/EmployeeList/useEmployeeList.js +9 -3
  129. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  130. package/dist/components/Employee/FederalTaxes/FederalTaxes.js +3 -3
  131. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +9 -3
  132. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  133. package/dist/components/Employee/Landing/Landing.js +2 -2
  134. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +2 -2
  135. package/dist/components/Employee/PaymentMethod/BankAccount.d.ts +2 -2
  136. package/dist/components/Employee/PaymentMethod/PaymentMethod.js +8 -8
  137. package/dist/components/Employee/PaymentMethod/Split.js +1 -1
  138. package/dist/components/Employee/PaymentMethod/usePaymentMethod.d.ts +8 -8
  139. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +15 -9
  140. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  141. package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +2 -2
  142. package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
  143. package/dist/components/Employee/Profile/Profile.js +15 -13
  144. package/dist/components/Employee/Profile/Profile.js.map +1 -1
  145. package/dist/components/Employee/Profile/useProfile.js +9 -3
  146. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  147. package/dist/components/Employee/StateTaxes/StateTaxes.js +3 -3
  148. package/dist/components/Employee/StateTaxes/useStateTaxes.js +9 -3
  149. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  150. package/dist/components/Employee/Taxes/Taxes.js +5 -5
  151. package/dist/components/Employee/Taxes/useTaxes.js +9 -3
  152. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  153. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +4 -2
  154. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +69 -33
  155. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  156. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +10 -5
  157. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +119 -50
  158. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  159. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +5 -2
  160. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +64 -13
  161. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  162. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +18 -2
  163. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +117 -18
  164. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  165. package/dist/components/Payroll/PayrollList/PayrollList.d.ts +1 -1
  166. package/dist/components/Payroll/PayrollList/PayrollList.js +24 -11
  167. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  168. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +8 -6
  169. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +35 -26
  170. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  171. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +1 -1
  172. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +42 -35
  173. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  174. package/dist/components/Payroll/RunPayrollFlow/RunPayroll.d.ts +2 -1
  175. package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js +4 -4
  176. package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js.map +1 -1
  177. package/dist/components/Payroll/helpers.d.ts +21 -0
  178. package/dist/components/Payroll/helpers.js +209 -0
  179. package/dist/components/Payroll/helpers.js.map +1 -0
  180. package/dist/components/Payroll/helpers.test.d.ts +1 -0
  181. package/dist/components/Payroll/usePreparedPayrollData.d.ts +14 -0
  182. package/dist/components/Payroll/usePreparedPayrollData.js +39 -0
  183. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -0
  184. package/dist/contexts/ApiProvider/ApiProvider.js +4 -4
  185. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +28 -26
  186. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  187. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  188. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  189. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +3 -2
  190. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  191. package/dist/helpers/formattedStrings.d.ts +9 -0
  192. package/dist/helpers/formattedStrings.js +55 -16
  193. package/dist/helpers/formattedStrings.js.map +1 -1
  194. package/dist/i18n/I18n.js +15 -15
  195. package/dist/i18n/I18n.js.map +1 -1
  196. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +32 -0
  197. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -0
  198. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +20 -0
  199. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -0
  200. package/dist/i18n/en/Payroll.PayrollList.json.js +14 -0
  201. package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -0
  202. package/dist/i18n/en/Payroll.PayrollOverview.json.js +18 -0
  203. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -0
  204. package/dist/i18n/en/common.json.d.ts +8 -0
  205. package/dist/i18n/en/common.json.js +15 -13
  206. package/dist/i18n/en/common.json.js.map +1 -1
  207. package/dist/shared/constants.d.ts +6 -0
  208. package/dist/shared/constants.js +43 -34
  209. package/dist/shared/constants.js.map +1 -1
  210. package/dist/style.css +1 -1
  211. package/dist/types/i18next.d.ts +96 -1
  212. package/package.json +27 -26
@@ -1,12 +1,12 @@
1
1
  import { jsx as t, jsxs as M, Fragment as I } from "react/jsx-runtime";
2
- import { zodResolver as O } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@hookform/resolvers/zod/dist/zod.mjs";
2
+ import { zodResolver as O } from "@hookform/resolvers/zod";
3
3
  import { useForm as C, FormProvider as J } from "react-hook-form";
4
4
  import "react-i18next";
5
5
  import { useEffect as X } from "react";
6
- import { useEmployeeTaxSetupGetFederalTaxesSuspense as q } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/employeeTaxSetupGetFederalTaxes.js";
7
- import { useEmployeeTaxSetupUpdateFederalTaxesMutation as B } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/employeeTaxSetupUpdateFederalTaxes.js";
8
- import { useEmployeeTaxSetupGetStateTaxesSuspense as H } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/employeeTaxSetupGetStateTaxes.js";
9
- import { useEmployeeTaxSetupUpdateStateTaxesMutation as V } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/employeeTaxSetupUpdateStateTaxes.js";
6
+ import { useEmployeeTaxSetupGetFederalTaxesSuspense as q } from "@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes";
7
+ import { useEmployeeTaxSetupUpdateFederalTaxesMutation as B } from "@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes";
8
+ import { useEmployeeTaxSetupGetStateTaxesSuspense as H } from "@gusto/embedded-api/react-query/employeeTaxSetupGetStateTaxes";
9
+ import { useEmployeeTaxSetupUpdateStateTaxesMutation as V } from "@gusto/embedded-api/react-query/employeeTaxSetupUpdateStateTaxes";
10
10
  import { Actions as W } from "./Actions.js";
11
11
  import { FederalFormSchema as Y, FederalForm as j } from "./FederalForm.js";
12
12
  import { FederalHead as G } from "./FederalHead.js";
@@ -2,15 +2,21 @@ import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "react-error-boundary";
4
4
  import "react-i18next";
5
+ import "@gusto/embedded-api/models/errors/apierror";
6
+ import "@gusto/embedded-api/models/errors/sdkvalidationerror";
7
+ import "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
8
+ import "@tanstack/react-query";
5
9
  import "../../Base/useBase.js";
6
10
  import "../../../shared/constants.js";
7
11
  import "classnames";
8
12
  import "dompurify";
13
+ import "../../../contexts/LocaleProvider/useLocale.js";
9
14
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
15
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
10
16
  import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
11
- const [C, T] = o("TaxesContext");
17
+ const [v, P] = o("TaxesContext");
12
18
  export {
13
- T as TaxesProvider,
14
- C as useTaxes
19
+ P as TaxesProvider,
20
+ v as useTaxes
15
21
  };
16
22
  //# sourceMappingURL=useTaxes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTaxes.js","sources":["../../../../src/components/Employee/Taxes/useTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype TaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useTaxes, TaxesProvider] = createCompoundContext<TaxesContextType>('TaxesContext')\nexport { useTaxes, TaxesProvider }\n"],"names":["useTaxes","TaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;AASA,MAAM,CAACA,GAAUC,CAAa,IAAIC,EAAwC,cAAc;"}
1
+ {"version":3,"file":"useTaxes.js","sources":["../../../../src/components/Employee/Taxes/useTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype TaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useTaxes, TaxesProvider] = createCompoundContext<TaxesContextType>('TaxesContext')\nexport { useTaxes, TaxesProvider }\n"],"names":["useTaxes","TaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;AASA,MAAM,CAACA,GAAUC,CAAa,IAAIC,EAAwC,cAAc;"}
@@ -1,6 +1,8 @@
1
1
  import { BaseComponentInterface } from '../../Base/Base';
2
- interface PayrollConfigurationProps extends BaseComponentInterface {
2
+ interface PayrollConfigurationProps extends BaseComponentInterface<'Payroll.PayrollConfiguration'> {
3
+ companyId: string;
3
4
  payrollId: string;
4
5
  }
5
- export declare const PayrollConfiguration: ({ onEvent, payrollId, ...baseProps }: PayrollConfigurationProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare function PayrollConfiguration(props: PayrollConfigurationProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
7
+ export declare const Root: ({ onEvent, companyId, payrollId, dictionary }: PayrollConfigurationProps) => import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -1,41 +1,77 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { useState as s } from "react";
3
- import { PayrollEditEmployee as d } from "../PayrollEditEmployee/PayrollEditEmployee.js";
4
- import { PayrollConfigurationPresentation as E } from "./PayrollConfigurationPresentation.js";
5
- import { BaseComponent as y } from "../../Base/Base.js";
6
- import { componentEvents as e } from "../../../shared/constants.js";
7
- const u = ({ payrollId: o }) => ({
8
- data: {
9
- employees: [{ employeeId: "cdef" }]
10
- }
11
- }), P = ({ payrollId: o }) => ({ mutate: async () => {
12
- } }), D = ({
13
- onEvent: o,
14
- payrollId: n,
15
- ...i
16
- }) => {
17
- const {
18
- data: { employees: m }
19
- } = u({ payrollId: n }), { mutate: c } = P({ payrollId: n }), [r, l] = s(void 0);
20
- return /* @__PURE__ */ a(y, { ...i, onEvent: o, children: r ? /* @__PURE__ */ a(d, { onEvent: (t, p) => {
21
- t === e.RUN_PAYROLL_EMPLOYEE_SAVED && l(void 0), o(t, p);
22
- }, employeeId: r }) : /* @__PURE__ */ a(
23
- E,
2
+ import { useState as O, useEffect as S } from "react";
3
+ import { useEmployeesListSuspense as Y } from "@gusto/embedded-api/react-query/employeesList";
4
+ import { usePayrollsGetSuspense as h } from "@gusto/embedded-api/react-query/payrollsGet";
5
+ import { usePayrollsCalculateMutation as N } from "@gusto/embedded-api/react-query/payrollsCalculate";
6
+ import { PayrollProcessingRequestStatus as c } from "@gusto/embedded-api/models/components/payrollprocessingrequest";
7
+ import { usePreparedPayrollData as U } from "../usePreparedPayrollData.js";
8
+ import { PayrollEditEmployee as w } from "../PayrollEditEmployee/PayrollEditEmployee.js";
9
+ import { PayrollConfigurationPresentation as M } from "./PayrollConfigurationPresentation.js";
10
+ import { BaseComponent as q } from "../../Base/Base.js";
11
+ import { useBase as B } from "../../Base/useBase.js";
12
+ import { componentEvents as t } from "../../../shared/constants.js";
13
+ import { useComponentDictionary as x, useI18n as T } from "../../../i18n/I18n.js";
14
+ function X(o) {
15
+ return /* @__PURE__ */ a(q, { ...o, children: /* @__PURE__ */ a(V, { ...o, children: o.children }) });
16
+ }
17
+ const V = ({ onEvent: o, companyId: r, payrollId: l, dictionary: p }) => {
18
+ x("Payroll.PayrollConfiguration", p), T("Payroll.PayrollConfiguration");
19
+ const { LoadingIndicator: P } = B(), { data: i } = h(
24
20
  {
25
- employees: m,
26
- onBack: () => {
27
- o(e.RUN_PAYROLL_BACK);
28
- },
29
- onCalculatePayroll: async () => {
30
- await c(), o(e.RUN_PAYROLL_CALCULATED);
31
- },
32
- onEdit: ({ employeeId: t }) => {
33
- l(t), o(e.RUN_PAYROLL_EMPLOYEE_EDITED, { employeeId: t });
21
+ companyId: r,
22
+ payrollId: l
23
+ },
24
+ { refetchInterval: 5e3 }
25
+ ), { data: f } = Y({
26
+ companyId: r
27
+ }), { mutateAsync: y } = N(), [n, u] = O(void 0), {
28
+ preparedPayroll: s,
29
+ paySchedule: E,
30
+ isLoading: d,
31
+ handlePreparePayroll: L
32
+ } = U({
33
+ companyId: r,
34
+ payrollId: l
35
+ }), C = () => {
36
+ o(t.RUN_PAYROLL_BACK);
37
+ }, R = async () => {
38
+ await y({
39
+ request: {
40
+ companyId: r,
41
+ payrollId: l
34
42
  }
43
+ });
44
+ }, _ = (e) => {
45
+ u(e.uuid), o(t.RUN_PAYROLL_EMPLOYEE_EDITED, { employeeId: e.uuid });
46
+ }, A = (e, D) => {
47
+ (e === t.RUN_PAYROLL_EMPLOYEE_SAVED || e === t.RUN_PAYROLL_EMPLOYEE_CANCELLED) && (e === t.RUN_PAYROLL_EMPLOYEE_SAVED && L(), u(void 0)), o(e, D);
48
+ }, g = i.payrollShow?.processingRequest?.status === c.Calculating, m = i.payrollShow?.processingRequest?.status === c.CalculateSuccess;
49
+ return S(() => {
50
+ m && o(t.RUN_PAYROLL_CALCULATED);
51
+ }, [m, o]), d || g ? /* @__PURE__ */ a(P, {}) : n ? /* @__PURE__ */ a(
52
+ w,
53
+ {
54
+ onEvent: A,
55
+ employeeId: n,
56
+ companyId: r,
57
+ payrollId: l
58
+ }
59
+ ) : /* @__PURE__ */ a(
60
+ M,
61
+ {
62
+ onBack: C,
63
+ onCalculatePayroll: R,
64
+ onEdit: _,
65
+ employeeCompensations: s?.employeeCompensations || [],
66
+ employeeDetails: f.showEmployees || [],
67
+ payPeriod: s?.payPeriod,
68
+ paySchedule: E,
69
+ isOffCycle: s?.offCycle
35
70
  }
36
- ) });
71
+ );
37
72
  };
38
73
  export {
39
- D as PayrollConfiguration
74
+ X as PayrollConfiguration,
75
+ V as Root
40
76
  };
41
77
  //# sourceMappingURL=PayrollConfiguration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollConfiguration.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/PayrollConfiguration.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { PayrollEditEmployee } from '../PayrollEditEmployee/PayrollEditEmployee'\nimport { PayrollConfigurationPresentation } from './PayrollConfigurationPresentation'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport type { EventType } from '@/shared/constants'\nimport { componentEvents } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\n\n//TODO: Use Speakeasy type\ninterface PayrollItem {\n payrollId: string\n}\n\n// TODO: Replace this hook with call to Speakeasy instead\nconst usePayrollApi = ({ payrollId }: PayrollItem) => {\n return {\n data: {\n employees: [{ employeeId: 'cdef' }],\n },\n }\n}\n// TODO: Replace this hook with call to Speakeasy instead\nconst useCalculatePayrollApi = ({ payrollId }: PayrollItem) => {\n const mutate = async () => {}\n return { mutate }\n}\n\ninterface PayrollConfigurationProps extends BaseComponentInterface {\n payrollId: string\n}\nexport const PayrollConfiguration = ({\n onEvent,\n payrollId,\n ...baseProps\n}: PayrollConfigurationProps) => {\n const {\n data: { employees },\n } = usePayrollApi({ payrollId })\n const { mutate } = useCalculatePayrollApi({ payrollId })\n const [editedEmployeeId, setEditedEmployeeId] = useState<string | undefined>(undefined)\n const onBack = () => {\n onEvent(componentEvents.RUN_PAYROLL_BACK)\n }\n const onCalculatePayroll = async () => {\n await mutate()\n onEvent(componentEvents.RUN_PAYROLL_CALCULATED)\n }\n const onEdit = ({ employeeId }: { employeeId: string }) => {\n setEditedEmployeeId(employeeId)\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_EDITED, { employeeId })\n }\n\n const wrappedOnEvent: OnEventType<string, unknown> = (event, payload) => {\n if (event === componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED) {\n setEditedEmployeeId(undefined)\n }\n onEvent(event as EventType, payload)\n }\n\n const childComponent = editedEmployeeId ? (\n <PayrollEditEmployee onEvent={wrappedOnEvent} employeeId={editedEmployeeId} />\n ) : (\n <PayrollConfigurationPresentation\n employees={employees}\n onBack={onBack}\n onCalculatePayroll={onCalculatePayroll}\n onEdit={onEdit}\n />\n )\n\n return (\n <BaseComponent {...baseProps} onEvent={onEvent}>\n {childComponent}\n </BaseComponent>\n )\n}\n"],"names":["usePayrollApi","payrollId","useCalculatePayrollApi","PayrollConfiguration","onEvent","baseProps","employees","mutate","editedEmployeeId","setEditedEmployeeId","useState","jsx","BaseComponent","PayrollEditEmployee","event","payload","componentEvents","PayrollConfigurationPresentation","employeeId"],"mappings":";;;;;;AAeA,MAAMA,IAAgB,CAAC,EAAE,WAAAC,SAChB;AAAA,EACL,MAAM;AAAA,IACJ,WAAW,CAAC,EAAE,YAAY,QAAQ;AAAA,EAAA;AACpC,IAIEC,IAAyB,CAAC,EAAE,WAAAD,SAEzB,EAAE,QADM,YAAY;AAAC,EACnB,IAMEE,IAAuB,CAAC;AAAA,EACnC,SAAAC;AAAA,EACA,WAAAH;AAAA,EACA,GAAGI;AACL,MAAiC;AAC/B,QAAM;AAAA,IACJ,MAAM,EAAE,WAAAC,EAAA;AAAA,EAAU,IAChBN,EAAc,EAAE,WAAAC,GAAW,GACzB,EAAE,QAAAM,EAAA,IAAWL,EAAuB,EAAE,WAAAD,GAAW,GACjD,CAACO,GAAkBC,CAAmB,IAAIC,EAA6B,MAAS;AA+BtF,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGP,GAAW,SAAAD,GAC3B,UAbkBI,IACrB,gBAAAG,EAACE,GAAA,EAAoB,SAR8B,CAACC,GAAOC,MAAY;AACvE,IAAID,MAAUE,EAAgB,8BAC5BP,EAAoB,MAAS,GAE/BL,EAAQU,GAAoBC,CAAO;AAAA,EACrC,GAGgD,YAAYP,GAAkB,IAE5E,gBAAAG;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,WAAAX;AAAA,MACA,QAxBW,MAAM;AACnB,QAAAF,EAAQY,EAAgB,gBAAgB;AAAA,MAC1C;AAAA,MAuBI,oBAtBuB,YAAY;AACrC,cAAMT,EAAA,GACNH,EAAQY,EAAgB,sBAAsB;AAAA,MAChD;AAAA,MAoBI,QAnBW,CAAC,EAAE,YAAAE,QAAyC;AACzD,QAAAT,EAAoBS,CAAU,GAC9Bd,EAAQY,EAAgB,6BAA6B,EAAE,YAAAE,EAAA,CAAY;AAAA,MACrE;AAAA,IAgBI;AAAA,EAAA,GAOF;AAEJ;"}
1
+ {"version":3,"file":"PayrollConfiguration.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/PayrollConfiguration.tsx"],"sourcesContent":["import { useState, useEffect } from 'react'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api/react-query/employeesList'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { usePayrollsCalculateMutation } from '@gusto/embedded-api/react-query/payrollsCalculate'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport { PayrollProcessingRequestStatus } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { usePreparedPayrollData } from '../usePreparedPayrollData'\nimport { PayrollEditEmployee } from '../PayrollEditEmployee/PayrollEditEmployee'\nimport { PayrollConfigurationPresentation } from './PayrollConfigurationPresentation'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport type { EventType } from '@/shared/constants'\nimport { componentEvents } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { useComponentDictionary, useI18n } from '@/i18n'\n\ninterface PayrollConfigurationProps extends BaseComponentInterface<'Payroll.PayrollConfiguration'> {\n companyId: string\n payrollId: string\n}\n\nexport function PayrollConfiguration(props: PayrollConfigurationProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({ onEvent, companyId, payrollId, dictionary }: PayrollConfigurationProps) => {\n useComponentDictionary('Payroll.PayrollConfiguration', dictionary)\n useI18n('Payroll.PayrollConfiguration')\n\n const { LoadingIndicator } = useBase()\n\n const { data: payrollData } = usePayrollsGetSuspense(\n {\n companyId,\n payrollId,\n },\n { refetchInterval: 5_000 },\n )\n\n const { data: employeeData } = useEmployeesListSuspense({\n companyId,\n })\n\n const { mutateAsync: calculatePayroll } = usePayrollsCalculateMutation()\n const [editedEmployeeId, setEditedEmployeeId] = useState<string | undefined>(undefined)\n\n const {\n preparedPayroll,\n paySchedule,\n isLoading: isPreparedPayrollDataLoading,\n handlePreparePayroll,\n } = usePreparedPayrollData({\n companyId,\n payrollId,\n })\n\n const onBack = () => {\n onEvent(componentEvents.RUN_PAYROLL_BACK)\n }\n const onCalculatePayroll = async () => {\n await calculatePayroll({\n request: {\n companyId,\n payrollId,\n },\n })\n }\n const onEdit = (employee: Employee) => {\n setEditedEmployeeId(employee.uuid)\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_EDITED, { employeeId: employee.uuid })\n }\n\n const wrappedOnEvent: OnEventType<string, unknown> = (event, payload) => {\n if (\n event === componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED ||\n event === componentEvents.RUN_PAYROLL_EMPLOYEE_CANCELLED\n ) {\n if (event === componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED) {\n void handlePreparePayroll()\n }\n setEditedEmployeeId(undefined)\n }\n\n onEvent(event as EventType, payload)\n }\n\n const isCalculating =\n payrollData.payrollShow?.processingRequest?.status ===\n PayrollProcessingRequestStatus.Calculating\n const isCalculated =\n payrollData.payrollShow?.processingRequest?.status ===\n PayrollProcessingRequestStatus.CalculateSuccess\n\n useEffect(() => {\n if (isCalculated) {\n onEvent(componentEvents.RUN_PAYROLL_CALCULATED)\n }\n }, [isCalculated, onEvent])\n\n if (isPreparedPayrollDataLoading || isCalculating) {\n return <LoadingIndicator />\n }\n\n if (editedEmployeeId) {\n return (\n <PayrollEditEmployee\n onEvent={wrappedOnEvent}\n employeeId={editedEmployeeId}\n companyId={companyId}\n payrollId={payrollId}\n />\n )\n }\n\n return (\n <PayrollConfigurationPresentation\n onBack={onBack}\n onCalculatePayroll={onCalculatePayroll}\n onEdit={onEdit}\n employeeCompensations={preparedPayroll?.employeeCompensations || []}\n employeeDetails={employeeData.showEmployees || []}\n payPeriod={preparedPayroll?.payPeriod}\n paySchedule={paySchedule}\n isOffCycle={preparedPayroll?.offCycle}\n />\n )\n}\n"],"names":["PayrollConfiguration","props","jsx","BaseComponent","Root","onEvent","companyId","payrollId","dictionary","useComponentDictionary","useI18n","LoadingIndicator","useBase","payrollData","usePayrollsGetSuspense","employeeData","useEmployeesListSuspense","calculatePayroll","usePayrollsCalculateMutation","editedEmployeeId","setEditedEmployeeId","useState","preparedPayroll","paySchedule","isPreparedPayrollDataLoading","handlePreparePayroll","usePreparedPayrollData","onBack","componentEvents","onCalculatePayroll","onEdit","employee","wrappedOnEvent","event","payload","isCalculating","PayrollProcessingRequestStatus","isCalculated","useEffect","PayrollEditEmployee","PayrollConfigurationPresentation"],"mappings":";;;;;;;;;;;;;AAsBO,SAASA,EAAqBC,GAA2D;AAC9F,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEO,MAAMG,IAAO,CAAC,EAAE,SAAAC,GAAS,WAAAC,GAAW,WAAAC,GAAW,YAAAC,QAA4C;AAChG,EAAAC,EAAuB,gCAAgCD,CAAU,GACjEE,EAAQ,8BAA8B;AAEtC,QAAM,EAAE,kBAAAC,EAAA,IAAqBC,EAAA,GAEvB,EAAE,MAAMC,EAAA,IAAgBC;AAAA,IAC5B;AAAA,MACE,WAAAR;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,IAEF,EAAE,iBAAiB,IAAA;AAAA,EAAM,GAGrB,EAAE,MAAMQ,EAAA,IAAiBC,EAAyB;AAAA,IACtD,WAAAV;AAAA,EAAA,CACD,GAEK,EAAE,aAAaW,EAAA,IAAqBC,EAAA,GACpC,CAACC,GAAkBC,CAAmB,IAAIC,EAA6B,MAAS,GAEhF;AAAA,IACJ,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAWC;AAAA,IACX,sBAAAC;AAAA,EAAA,IACEC,EAAuB;AAAA,IACzB,WAAApB;AAAA,IACA,WAAAC;AAAA,EAAA,CACD,GAEKoB,IAAS,MAAM;AACnB,IAAAtB,EAAQuB,EAAgB,gBAAgB;AAAA,EAC1C,GACMC,IAAqB,YAAY;AACrC,UAAMZ,EAAiB;AAAA,MACrB,SAAS;AAAA,QACP,WAAAX;AAAA,QACA,WAAAC;AAAA,MAAA;AAAA,IACF,CACD;AAAA,EACH,GACMuB,IAAS,CAACC,MAAuB;AACrC,IAAAX,EAAoBW,EAAS,IAAI,GACjC1B,EAAQuB,EAAgB,6BAA6B,EAAE,YAAYG,EAAS,MAAM;AAAA,EACpF,GAEMC,IAA+C,CAACC,GAAOC,MAAY;AACvE,KACED,MAAUL,EAAgB,8BAC1BK,MAAUL,EAAgB,oCAEtBK,MAAUL,EAAgB,8BACvBH,EAAA,GAEPL,EAAoB,MAAS,IAG/Bf,EAAQ4B,GAAoBC,CAAO;AAAA,EACrC,GAEMC,IACJtB,EAAY,aAAa,mBAAmB,WAC5CuB,EAA+B,aAC3BC,IACJxB,EAAY,aAAa,mBAAmB,WAC5CuB,EAA+B;AAQjC,SANAE,EAAU,MAAM;AACd,IAAID,KACFhC,EAAQuB,EAAgB,sBAAsB;AAAA,EAElD,GAAG,CAACS,GAAchC,CAAO,CAAC,GAEtBmB,KAAgCW,sBAC1BxB,GAAA,EAAiB,IAGvBQ,IAEA,gBAAAjB;AAAA,IAACqC;AAAA,IAAA;AAAA,MACC,SAASP;AAAA,MACT,YAAYb;AAAA,MACZ,WAAAb;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA,IAMJ,gBAAAL;AAAA,IAACsC;AAAA,IAAA;AAAA,MACC,QAAAb;AAAA,MACA,oBAAAE;AAAA,MACA,QAAAC;AAAA,MACA,uBAAuBR,GAAiB,yBAAyB,CAAA;AAAA,MACjE,iBAAiBP,EAAa,iBAAiB,CAAA;AAAA,MAC/C,WAAWO,GAAiB;AAAA,MAC5B,aAAAC;AAAA,MACA,YAAYD,GAAiB;AAAA,IAAA;AAAA,EAAA;AAGnC;"}
@@ -1,11 +1,16 @@
1
- interface Employee {
2
- employeeId: string;
3
- }
1
+ import { EmployeeCompensations } from '@gusto/embedded-api/models/components/payrollshow';
2
+ import { Employee } from '@gusto/embedded-api/models/components/employee';
3
+ import { PayrollPayPeriodType } from '@gusto/embedded-api/models/components/payrollpayperiodtype';
4
+ import { PayScheduleObject } from '@gusto/embedded-api/models/components/payscheduleobject';
4
5
  interface PayrollConfigurationPresentationProps {
5
- employees: Employee[];
6
+ employeeCompensations: EmployeeCompensations[];
7
+ employeeDetails: Employee[];
8
+ payPeriod?: PayrollPayPeriodType;
9
+ paySchedule?: PayScheduleObject;
6
10
  onBack: () => void;
7
11
  onCalculatePayroll: () => void;
8
12
  onEdit: (employee: Employee) => void;
13
+ isOffCycle?: boolean;
9
14
  }
10
- export declare const PayrollConfigurationPresentation: ({ employees, onBack, onEdit, onCalculatePayroll, }: PayrollConfigurationPresentationProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const PayrollConfigurationPresentation: ({ employeeCompensations, employeeDetails, payPeriod, paySchedule, onBack, onEdit, onCalculatePayroll, isOffCycle, }: PayrollConfigurationPresentationProps) => import("react/jsx-runtime").JSX.Element;
11
16
  export {};
@@ -1,80 +1,149 @@
1
- import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
- import { Flex as r } from "../../Common/Flex/Flex.js";
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import { useTranslation as B } from "react-i18next";
3
+ import { useFormatEmployeePayRate as H, getRegularHours as L, formatHoursDisplay as C, getTotalPtoHours as M, getAdditionalEarnings as R, getReimbursements as F, calculateGrossPay as S } from "../helpers.js";
4
+ import { useI18n as j } from "../../../i18n/I18n.js";
5
+ import { Flex as p } from "../../Common/Flex/Flex.js";
3
6
  import "classnames";
4
7
  import "../../../shared/constants.js";
5
- import { useComponentContext as m } from "../../../contexts/ComponentAdapter/useComponentContext.js";
6
- import { HamburgerMenu as h } from "../../Common/HamburgerMenu/HamburgerMenu.js";
7
- import p from "../../../assets/icons/pencil.svg.js";
8
- import { DataView as y } from "../../Common/DataView/DataView.js";
9
- const E = ({
10
- employees: a,
11
- onBack: d,
12
- onEdit: c,
13
- onCalculatePayroll: s
8
+ import { useComponentContext as v } from "../../../contexts/ComponentAdapter/useComponentContext.js";
9
+ import { HamburgerMenu as V } from "../../Common/HamburgerMenu/HamburgerMenu.js";
10
+ import G from "../../../assets/icons/pencil.svg.js";
11
+ import { formatNumberAsCurrency as y, firstLastName as I } from "../../../helpers/formattedStrings.js";
12
+ import { parseDateStringToLocal as P } from "../../../helpers/dateFormatting.js";
13
+ import { useLocale as _ } from "../../../contexts/LocaleProvider/useLocale.js";
14
+ import { DataView as O } from "../../Common/DataView/DataView.js";
15
+ const q = ({
16
+ payPeriod: a,
17
+ locale: c,
18
+ t: s
14
19
  }) => {
15
- const { Alert: n, Button: o, Heading: t, Text: l } = m();
16
- return /* @__PURE__ */ i(r, { flexDirection: "column", children: [
17
- /* @__PURE__ */ i(r, { justifyContent: "space-between", children: [
18
- /* @__PURE__ */ e(t, { as: "h1", children: "Run payroll for Jul 5 - Jul 18, 2025" }),
19
- /* @__PURE__ */ e(o, { title: "Calculate payroll", onClick: s, children: "Calculate payroll" })
20
+ if (a?.startDate && a.endDate) {
21
+ const d = P(a.startDate), u = P(a.endDate);
22
+ if (d && u) {
23
+ const g = d.toLocaleDateString(c, {
24
+ month: "long",
25
+ day: "numeric"
26
+ }), h = u.toLocaleDateString(c, {
27
+ month: "short",
28
+ day: "numeric",
29
+ year: "numeric"
30
+ });
31
+ return s("pageTitle", { startDate: g, endDate: h });
32
+ }
33
+ }
34
+ return s("pageTitle", { startDate: "", endDate: "" });
35
+ }, oe = ({
36
+ employeeCompensations: a,
37
+ employeeDetails: c,
38
+ payPeriod: s,
39
+ paySchedule: d,
40
+ onBack: u,
41
+ onEdit: g,
42
+ onCalculatePayroll: h,
43
+ isOffCycle: w = !1
44
+ }) => {
45
+ const { Alert: f, Button: b, Heading: D, Text: n, Badge: N } = v();
46
+ j("Payroll.PayrollConfiguration");
47
+ const { t: l } = B("Payroll.PayrollConfiguration"), { locale: T } = _(), x = H(), o = new Map(c.map((t) => [t.uuid, t])), E = (t) => {
48
+ const r = o.get(t);
49
+ return r ? I({ first_name: r.firstName, last_name: r.lastName }) : null;
50
+ };
51
+ return /* @__PURE__ */ m(p, { flexDirection: "column", gap: 16, children: [
52
+ /* @__PURE__ */ m(p, { justifyContent: "space-between", alignItems: "center", children: [
53
+ /* @__PURE__ */ e(D, { as: "h1", children: q({ payPeriod: s, locale: T, t: l }) }),
54
+ /* @__PURE__ */ e(b, { title: l("calculatePayrollTitle"), onClick: h, children: l("calculatePayroll") })
20
55
  ] }),
21
- /* @__PURE__ */ e(l, { children: "Regular payroll" }),
22
- /* @__PURE__ */ i(r, { flexDirection: "column", alignItems: "stretch", children: [
23
- /* @__PURE__ */ e(
24
- n,
25
- {
26
- label: "To pay your employees with direct deposit on Fri, Jul 25, you'll need to run payroll by 7:00 PM EDT on Wed, Jul 23",
27
- status: "info",
28
- children: "If you miss this deadline, your employees' direct deposit will be delayed."
29
- }
30
- ),
31
- /* @__PURE__ */ e(n, { label: "2 employees will be skipped this payroll", status: "warning", children: /* @__PURE__ */ i("ul", { children: [
32
- /* @__PURE__ */ e("li", { children: "John Smith - Employee address not verified" }),
33
- /* @__PURE__ */ e("li", { children: "Jensen Cooper - Employee address not verified" })
56
+ /* @__PURE__ */ e(n, { children: l("regularPayroll") }),
57
+ /* @__PURE__ */ m(p, { flexDirection: "column", gap: 16, children: [
58
+ /* @__PURE__ */ e(f, { label: l("alerts.payrollDeadline.label"), status: "info", children: l("alerts.payrollDeadline.message") }),
59
+ /* @__PURE__ */ e(f, { label: l("alerts.skippedEmployees.label"), status: "warning", children: /* @__PURE__ */ m("ul", { children: [
60
+ /* @__PURE__ */ e("li", { children: l("alerts.skippedEmployees.employeeAddressNotVerified") }),
61
+ /* @__PURE__ */ e("li", { children: l("alerts.skippedEmployees.employeeAddressNotVerified") })
34
62
  ] }) })
35
63
  ] }),
36
- /* @__PURE__ */ e(t, { as: "h3", children: "Hours and additional earnings" }),
37
- /* @__PURE__ */ e(l, { children: "Review and update..." }),
64
+ /* @__PURE__ */ e(D, { as: "h3", children: l("hoursAndEarningsTitle") }),
65
+ /* @__PURE__ */ e(n, { children: l("hoursAndEarningsDescription") }),
38
66
  /* @__PURE__ */ e(
39
- y,
67
+ O,
40
68
  {
41
- label: "Configuration",
69
+ label: l("employeeCompensationsTitle"),
42
70
  columns: [
43
71
  {
44
- title: "Employees",
45
- render: () => /* @__PURE__ */ i(r, { flexDirection: "column", children: [
46
- /* @__PURE__ */ e(l, { children: "John Smith" }),
47
- /* @__PURE__ */ e(l, { children: "$22.00/hr" })
48
- ] })
72
+ title: /* @__PURE__ */ e(n, { weight: "semibold", children: l("tableColumns.employees") }),
73
+ render: (t) => {
74
+ const r = o.get(t.employeeUuid || ""), i = x(r);
75
+ return /* @__PURE__ */ m(p, { flexDirection: "column", gap: 8, children: [
76
+ /* @__PURE__ */ e(n, { weight: "semibold", children: E(t.employeeUuid || "") }),
77
+ i && /* @__PURE__ */ e(n, { variant: "supporting", children: i }),
78
+ t.excluded && /* @__PURE__ */ e(N, { status: "warning", children: l("skippedBadge") })
79
+ ] });
80
+ }
81
+ },
82
+ {
83
+ title: /* @__PURE__ */ e(n, { weight: "semibold", children: l("tableColumns.hours") }),
84
+ render: (t) => {
85
+ const r = L(t);
86
+ return /* @__PURE__ */ e(n, { children: C(r) });
87
+ }
88
+ },
89
+ {
90
+ title: /* @__PURE__ */ e(n, { weight: "semibold", children: l("tableColumns.timeOff") }),
91
+ render: (t) => {
92
+ const r = M(t);
93
+ return /* @__PURE__ */ e(n, { children: C(r) });
94
+ }
95
+ },
96
+ {
97
+ title: /* @__PURE__ */ e(n, { weight: "semibold", children: l("tableColumns.additionalEarnings") }),
98
+ render: (t) => {
99
+ const r = R(t);
100
+ return /* @__PURE__ */ e(n, { children: y(r) });
101
+ }
102
+ },
103
+ {
104
+ title: /* @__PURE__ */ e(n, { weight: "semibold", children: l("tableColumns.reimbursements") }),
105
+ render: (t) => {
106
+ const r = F(t);
107
+ return /* @__PURE__ */ e(n, { children: y(r) });
108
+ }
49
109
  },
50
110
  {
51
- title: "Hours",
52
- render: () => /* @__PURE__ */ e(l, { children: "40" })
111
+ title: /* @__PURE__ */ e(n, { weight: "semibold", children: l("tableColumns.totalPay") }),
112
+ render: (t) => {
113
+ const r = o.get(t.employeeUuid || ""), i = r ? S(t, r, s?.startDate, d, w) : 0;
114
+ return /* @__PURE__ */ e(n, { children: y(i) });
115
+ }
53
116
  }
54
117
  ],
55
- data: a,
56
- itemMenu: ({ employeeId: u }) => /* @__PURE__ */ e(
57
- h,
118
+ data: a.filter((t) => {
119
+ const r = t.employeeUuid;
120
+ return r ? o.has(r) : !1;
121
+ }).sort((t, r) => {
122
+ const i = o.get(t.employeeUuid || ""), k = o.get(r.employeeUuid || ""), A = i?.lastName || "", U = k?.lastName || "";
123
+ return A.localeCompare(U);
124
+ }),
125
+ itemMenu: (t) => /* @__PURE__ */ e(
126
+ V,
58
127
  {
59
128
  items: [
60
129
  {
61
- label: "Edit",
62
- icon: /* @__PURE__ */ e(p, { "aria-hidden": !0 }),
130
+ label: l("editMenu.edit"),
131
+ icon: /* @__PURE__ */ e(G, { "aria-hidden": !0 }),
63
132
  onClick: () => {
64
- c({ employeeId: u });
133
+ const r = o.get(t.employeeUuid || "");
134
+ r && g(r);
65
135
  }
66
136
  }
67
137
  ],
68
- triggerLabel: "Edit",
69
- isLoading: !1
138
+ triggerLabel: l("editMenu.edit")
70
139
  }
71
140
  )
72
141
  }
73
142
  ),
74
- /* @__PURE__ */ e(o, { title: "Back", onClick: d, children: "Back" })
143
+ /* @__PURE__ */ e(b, { title: l("backButtonTitle"), onClick: u, variant: "secondary", children: l("backButton") })
75
144
  ] });
76
145
  };
77
146
  export {
78
- E as PayrollConfigurationPresentation
147
+ oe as PayrollConfigurationPresentation
79
148
  };
80
149
  //# sourceMappingURL=PayrollConfigurationPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollConfigurationPresentation.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.tsx"],"sourcesContent":["import { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\n\n//TODO: Use Speakeasy type\ninterface Employee {\n employeeId: string\n}\n\ninterface PayrollConfigurationPresentationProps {\n employees: Employee[]\n onBack: () => void\n onCalculatePayroll: () => void\n onEdit: (employee: Employee) => void\n}\n\nexport const PayrollConfigurationPresentation = ({\n employees,\n onBack,\n onEdit,\n onCalculatePayroll,\n}: PayrollConfigurationPresentationProps) => {\n const { Alert, Button, Heading, Text } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\">\n <Flex justifyContent=\"space-between\">\n <Heading as=\"h1\">Run payroll for Jul 5 - Jul 18, 2025</Heading>\n <Button title=\"Calculate payroll\" onClick={onCalculatePayroll}>\n Calculate payroll\n </Button>\n </Flex>\n <Text>Regular payroll</Text>\n <Flex flexDirection=\"column\" alignItems=\"stretch\">\n <Alert\n label=\"To pay your employees with direct deposit on Fri, Jul 25, you'll need to run payroll by 7:00 PM EDT on Wed, Jul 23\"\n status=\"info\"\n >\n {\"If you miss this deadline, your employees' direct deposit will be delayed.\"}\n </Alert>\n <Alert label=\"2 employees will be skipped this payroll\" status=\"warning\">\n <ul>\n <li>John Smith - Employee address not verified</li>\n <li>Jensen Cooper - Employee address not verified</li>\n </ul>\n </Alert>\n </Flex>\n\n <Heading as=\"h3\">Hours and additional earnings</Heading>\n <Text>Review and update...</Text>\n <DataView\n label=\"Configuration\"\n columns={[\n {\n title: 'Employees',\n render: () => (\n <Flex flexDirection=\"column\">\n <Text>John Smith</Text>\n <Text>$22.00/hr</Text>\n </Flex>\n ),\n },\n {\n title: 'Hours',\n render: () => <Text>40</Text>,\n },\n ]}\n data={employees}\n itemMenu={({ employeeId }) => (\n <HamburgerMenu\n items={[\n {\n label: 'Edit',\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n onEdit({ employeeId })\n },\n },\n ]}\n triggerLabel=\"Edit\"\n isLoading={false}\n />\n )}\n />\n <Button title=\"Back\" onClick={onBack}>\n Back\n </Button>\n </Flex>\n )\n}\n"],"names":["PayrollConfigurationPresentation","employees","onBack","onEdit","onCalculatePayroll","Alert","Button","Heading","Text","useComponentContext","jsxs","Flex","jsx","DataView","employeeId","HamburgerMenu","PencilSvg"],"mappings":";;;;;;;;AAiBO,MAAMA,IAAmC,CAAC;AAAA,EAC/C,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,oBAAAC;AACF,MAA6C;AAC3C,QAAM,EAAE,OAAAC,GAAO,QAAAC,GAAQ,SAAAC,GAAS,MAAAC,EAAA,IAASC,EAAA;AAEzC,SACE,gBAAAC,EAACC,GAAA,EAAK,eAAc,UAClB,UAAA;AAAA,IAAA,gBAAAD,EAACC,GAAA,EAAK,gBAAe,iBACnB,UAAA;AAAA,MAAA,gBAAAC,EAACL,GAAA,EAAQ,IAAG,MAAK,UAAA,wCAAoC;AAAA,wBACpDD,GAAA,EAAO,OAAM,qBAAoB,SAASF,GAAoB,UAAA,oBAAA,CAE/D;AAAA,IAAA,GACF;AAAA,IACA,gBAAAQ,EAACJ,KAAK,UAAA,kBAAA,CAAe;AAAA,IACrB,gBAAAE,EAACC,GAAA,EAAK,eAAc,UAAS,YAAW,WACtC,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACP;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,QAAO;AAAA,UAEN,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,wBAEFA,GAAA,EAAM,OAAM,4CAA2C,QAAO,WAC7D,4BAAC,MAAA,EACC,UAAA;AAAA,QAAA,gBAAAO,EAAC,QAAG,UAAA,6CAAA,CAA0C;AAAA,QAC9C,gBAAAA,EAAC,QAAG,UAAA,gDAAA,CAA6C;AAAA,MAAA,EAAA,CACnD,EAAA,CACF;AAAA,IAAA,GACF;AAAA,IAEA,gBAAAA,EAACL,GAAA,EAAQ,IAAG,MAAK,UAAA,iCAA6B;AAAA,IAC9C,gBAAAK,EAACJ,KAAK,UAAA,uBAAA,CAAoB;AAAA,IAC1B,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,SAAS;AAAA,UACP;AAAA,YACE,OAAO;AAAA,YACP,QAAQ,MACN,gBAAAH,EAACC,GAAA,EAAK,eAAc,UAClB,UAAA;AAAA,cAAA,gBAAAC,EAACJ,KAAK,UAAA,aAAA,CAAU;AAAA,cAChB,gBAAAI,EAACJ,KAAK,UAAA,YAAA,CAAS;AAAA,YAAA,EAAA,CACjB;AAAA,UAAA;AAAA,UAGJ;AAAA,YACE,OAAO;AAAA,YACP,QAAQ,MAAM,gBAAAI,EAACJ,GAAA,EAAK,UAAA,KAAA,CAAE;AAAA,UAAA;AAAA,QACxB;AAAA,QAEF,MAAMP;AAAA,QACN,UAAU,CAAC,EAAE,YAAAa,EAAA,MACX,gBAAAF;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL;AAAA,gBACE,OAAO;AAAA,gBACP,MAAM,gBAAAH,EAACI,GAAA,EAAU,eAAW,GAAA,CAAC;AAAA,gBAC7B,SAAS,MAAM;AACb,kBAAAb,EAAO,EAAE,YAAAW,GAAY;AAAA,gBACvB;AAAA,cAAA;AAAA,YACF;AAAA,YAEF,cAAa;AAAA,YACb,WAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MACb;AAAA,IAAA;AAAA,sBAGHR,GAAA,EAAO,OAAM,QAAO,SAASJ,GAAQ,UAAA,OAAA,CAEtC;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"PayrollConfigurationPresentation.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.tsx"],"sourcesContent":["import type { EmployeeCompensations } from '@gusto/embedded-api/models/components/payrollshow'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { PayrollPayPeriodType } from '@gusto/embedded-api/models/components/payrollpayperiodtype'\nimport type { PayScheduleObject } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport { useTranslation } from 'react-i18next'\nimport type { TFunction } from 'i18next'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport {\n useFormatEmployeePayRate,\n getRegularHours,\n getTotalPtoHours,\n getAdditionalEarnings,\n getReimbursements,\n formatHoursDisplay,\n calculateGrossPay,\n} from '../helpers'\nimport { useI18n } from '@/i18n'\nimport { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { firstLastName, formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { parseDateStringToLocal } from '@/helpers/dateFormatting'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\n\ninterface PayrollConfigurationPresentationProps {\n employeeCompensations: EmployeeCompensations[]\n employeeDetails: Employee[]\n payPeriod?: PayrollPayPeriodType\n paySchedule?: PayScheduleObject\n onBack: () => void\n onCalculatePayroll: () => void\n onEdit: (employee: Employee) => void\n isOffCycle?: boolean\n}\n\nconst getPayrollConfigurationTitle = ({\n payPeriod,\n locale,\n t,\n}: {\n payPeriod?: PayrollPayPeriodType\n locale: string\n t: TFunction<'Payroll.PayrollConfiguration'>\n}) => {\n if (payPeriod?.startDate && payPeriod.endDate) {\n const startDate = parseDateStringToLocal(payPeriod.startDate)\n const endDate = parseDateStringToLocal(payPeriod.endDate)\n\n if (startDate && endDate) {\n const startFormatted = startDate.toLocaleDateString(locale, {\n month: 'long',\n day: 'numeric',\n })\n const endFormatted = endDate.toLocaleDateString(locale, {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n })\n return t('pageTitle', { startDate: startFormatted, endDate: endFormatted })\n }\n }\n return t('pageTitle', { startDate: '', endDate: '' })\n}\n\nexport const PayrollConfigurationPresentation = ({\n employeeCompensations,\n employeeDetails,\n payPeriod,\n paySchedule,\n onBack,\n onEdit,\n onCalculatePayroll,\n isOffCycle = false,\n}: PayrollConfigurationPresentationProps) => {\n const { Alert, Button, Heading, Text, Badge } = useComponentContext()\n useI18n('Payroll.PayrollConfiguration')\n const { t } = useTranslation('Payroll.PayrollConfiguration')\n const { locale } = useLocale()\n const formatEmployeePayRate = useFormatEmployeePayRate()\n\n const employeeMap = new Map(employeeDetails.map(employee => [employee.uuid, employee]))\n\n const getEmployeeName = (employeeUuid: string) => {\n const employee = employeeMap.get(employeeUuid)\n return employee\n ? firstLastName({ first_name: employee.firstName, last_name: employee.lastName })\n : null\n }\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Heading as=\"h1\">{getPayrollConfigurationTitle({ payPeriod, locale, t })}</Heading>\n <Button title={t('calculatePayrollTitle')} onClick={onCalculatePayroll}>\n {t('calculatePayroll')}\n </Button>\n </Flex>\n\n <Text>{t('regularPayroll')}</Text>\n\n <Flex flexDirection=\"column\" gap={16}>\n {/* TODO: Replace with actual deadline information from payroll data */}\n <Alert label={t('alerts.payrollDeadline.label')} status=\"info\">\n {t('alerts.payrollDeadline.message')}\n </Alert>\n\n {/* TODO: Replace with actual skipped employees list from payroll data */}\n <Alert label={t('alerts.skippedEmployees.label')} status=\"warning\">\n <ul>\n <li>{t('alerts.skippedEmployees.employeeAddressNotVerified')}</li>\n <li>{t('alerts.skippedEmployees.employeeAddressNotVerified')}</li>\n </ul>\n </Alert>\n </Flex>\n\n <Heading as=\"h3\">{t('hoursAndEarningsTitle')}</Heading>\n <Text>{t('hoursAndEarningsDescription')}</Text>\n\n <DataView\n label={t('employeeCompensationsTitle')}\n columns={[\n {\n title: <Text weight=\"semibold\">{t('tableColumns.employees')}</Text>,\n render: (item: EmployeeCompensations) => {\n const employee = employeeMap.get(item.employeeUuid || '')\n const payRateDisplay = formatEmployeePayRate(employee)\n return (\n <Flex flexDirection=\"column\" gap={8 as const}>\n <Text weight=\"semibold\">{getEmployeeName(item.employeeUuid || '')}</Text>\n {payRateDisplay && <Text variant=\"supporting\">{payRateDisplay}</Text>}\n {item.excluded && <Badge status=\"warning\">{t('skippedBadge')}</Badge>}\n </Flex>\n )\n },\n },\n {\n title: <Text weight=\"semibold\">{t('tableColumns.hours')}</Text>,\n render: (item: EmployeeCompensations) => {\n const hours = getRegularHours(item)\n return <Text>{formatHoursDisplay(hours)}</Text>\n },\n },\n {\n title: <Text weight=\"semibold\">{t('tableColumns.timeOff')}</Text>,\n render: (item: EmployeeCompensations) => {\n const ptoHours = getTotalPtoHours(item)\n return <Text>{formatHoursDisplay(ptoHours)}</Text>\n },\n },\n {\n title: <Text weight=\"semibold\">{t('tableColumns.additionalEarnings')}</Text>,\n render: (item: EmployeeCompensations) => {\n const earnings = getAdditionalEarnings(item)\n return <Text>{formatNumberAsCurrency(earnings)}</Text>\n },\n },\n {\n title: <Text weight=\"semibold\">{t('tableColumns.reimbursements')}</Text>,\n render: (item: EmployeeCompensations) => {\n const reimbursements = getReimbursements(item)\n return <Text>{formatNumberAsCurrency(reimbursements)}</Text>\n },\n },\n {\n title: <Text weight=\"semibold\">{t('tableColumns.totalPay')}</Text>,\n render: (item: PayrollEmployeeCompensationsType) => {\n const employee = employeeMap.get(item.employeeUuid || '')\n const calculatedGrossPay = employee\n ? calculateGrossPay(item, employee, payPeriod?.startDate, paySchedule, isOffCycle)\n : 0\n return <Text>{formatNumberAsCurrency(calculatedGrossPay)}</Text>\n },\n },\n ]}\n data={employeeCompensations\n .filter(compensation => {\n const employeeUuid = compensation.employeeUuid\n if (!employeeUuid) return false\n return employeeMap.has(employeeUuid)\n })\n .sort((a, b) => {\n const employeeA = employeeMap.get(a.employeeUuid || '')\n const employeeB = employeeMap.get(b.employeeUuid || '')\n const lastNameA = employeeA?.lastName || ''\n const lastNameB = employeeB?.lastName || ''\n return lastNameA.localeCompare(lastNameB)\n })}\n itemMenu={(item: EmployeeCompensations) => (\n <HamburgerMenu\n items={[\n {\n label: t('editMenu.edit'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n const employee = employeeMap.get(item.employeeUuid || '')\n if (employee) {\n onEdit(employee)\n }\n },\n },\n ]}\n triggerLabel={t('editMenu.edit')}\n />\n )}\n />\n\n <Button title={t('backButtonTitle')} onClick={onBack} variant=\"secondary\">\n {t('backButton')}\n </Button>\n </Flex>\n )\n}\n"],"names":["getPayrollConfigurationTitle","payPeriod","locale","t","startDate","parseDateStringToLocal","endDate","startFormatted","endFormatted","PayrollConfigurationPresentation","employeeCompensations","employeeDetails","paySchedule","onBack","onEdit","onCalculatePayroll","isOffCycle","Alert","Button","Heading","Text","Badge","useComponentContext","useI18n","useTranslation","useLocale","formatEmployeePayRate","useFormatEmployeePayRate","employeeMap","employee","getEmployeeName","employeeUuid","firstLastName","jsxs","Flex","jsx","DataView","item","payRateDisplay","hours","getRegularHours","formatHoursDisplay","ptoHours","getTotalPtoHours","earnings","getAdditionalEarnings","formatNumberAsCurrency","reimbursements","getReimbursements","calculatedGrossPay","calculateGrossPay","compensation","a","b","employeeA","employeeB","lastNameA","lastNameB","HamburgerMenu","PencilSvg"],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { BaseComponentInterface } from '../../Base/Base';
2
- interface PayrollEditEmployeeProps extends BaseComponentInterface {
2
+ interface PayrollEditEmployeeProps extends BaseComponentInterface<'Payroll.PayrollEditEmployee'> {
3
3
  employeeId: string;
4
+ companyId: string;
5
+ payrollId: string;
4
6
  }
5
- export declare const PayrollEditEmployee: ({ employeeId, onEvent, ...baseProps }: PayrollEditEmployeeProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare function PayrollEditEmployee(props: PayrollEditEmployeeProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
8
+ export declare const Root: ({ employeeId, companyId, payrollId, onEvent, dictionary, }: PayrollEditEmployeeProps) => import("react/jsx-runtime").JSX.Element;
6
9
  export {};
@@ -1,19 +1,70 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { PayrollEditEmployeePresentation as r } from "./PayrollEditEmployeePresentation.js";
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { useEmployeesGetSuspense as A } from "@gusto/embedded-api/react-query/employeesGet";
3
+ import { usePayrollsUpdateMutation as R } from "@gusto/embedded-api/react-query/payrollsUpdate";
4
+ import { calculateGrossPay as U } from "../helpers.js";
5
+ import { usePreparedPayrollData as g } from "../usePreparedPayrollData.js";
6
+ import { PayrollEditEmployeePresentation as O } from "./PayrollEditEmployeePresentation.js";
3
7
  import { componentEvents as p } from "../../../shared/constants.js";
4
- import { BaseComponent as s } from "../../Base/Base.js";
5
- const a = ({ employeeId: t }) => ({ mutate: async () => {
6
- } }), u = ({
7
- employeeId: t,
8
- onEvent: o,
9
- ...n
8
+ import { BaseComponent as S } from "../../Base/Base.js";
9
+ import { useComponentDictionary as Y } from "../../../i18n/I18n.js";
10
+ import { useBase as N } from "../../Base/useBase.js";
11
+ function b(e) {
12
+ return /* @__PURE__ */ r(S, { ...e, children: /* @__PURE__ */ r(h, { ...e, children: e.children }) });
13
+ }
14
+ const h = ({
15
+ employeeId: e,
16
+ companyId: s,
17
+ payrollId: m,
18
+ onEvent: i,
19
+ dictionary: c
10
20
  }) => {
11
- const { mutate: m } = a({ employeeId: t });
12
- return /* @__PURE__ */ e(s, { ...n, onEvent: o, children: /* @__PURE__ */ e(r, { onDone: async () => {
13
- await m(), o(p.RUN_PAYROLL_EMPLOYEE_SAVED);
14
- } }) });
21
+ Y("Payroll.PayrollEditEmployee", c);
22
+ const { LoadingIndicator: y } = N(), { data: u } = A({ employeeId: e }), { preparedPayroll: n, paySchedule: P, isLoading: d } = g({
23
+ companyId: s,
24
+ payrollId: m
25
+ }), { mutateAsync: f, isPending: E } = R(), l = u.employee, a = n?.employeeCompensations?.find(
26
+ (o) => o.employeeUuid === e
27
+ ), C = ({
28
+ paymentMethod: o,
29
+ ...t
30
+ }) => ({
31
+ ...t,
32
+ ...o && o !== "Historical" ? { paymentMethod: o } : {},
33
+ memo: t.memo || void 0
34
+ }), L = async (o) => {
35
+ const t = C(o), _ = await f({
36
+ request: {
37
+ companyId: s,
38
+ payrollId: m,
39
+ payrollUpdate: {
40
+ employeeCompensations: [t]
41
+ }
42
+ }
43
+ });
44
+ i(p.RUN_PAYROLL_EMPLOYEE_SAVED, _.payrollPrepared);
45
+ }, D = () => {
46
+ i(p.RUN_PAYROLL_EMPLOYEE_CANCELLED);
47
+ };
48
+ return d ? /* @__PURE__ */ r(y, {}) : /* @__PURE__ */ r(
49
+ O,
50
+ {
51
+ onSave: L,
52
+ onCancel: D,
53
+ employee: l,
54
+ isPending: E,
55
+ grossPay: a ? U(
56
+ a,
57
+ l,
58
+ n?.payPeriod?.startDate,
59
+ P,
60
+ n?.offCycle
61
+ ) : 0,
62
+ employeeCompensation: a
63
+ }
64
+ );
15
65
  };
16
66
  export {
17
- u as PayrollEditEmployee
67
+ b as PayrollEditEmployee,
68
+ h as Root
18
69
  };
19
70
  //# sourceMappingURL=PayrollEditEmployee.js.map