@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.
- package/CHANGELOG.md +12 -0
- package/dist/_virtual/dynamic-import-helper.js +8 -1
- package/dist/_virtual/dynamic-import-helper.js.map +1 -1
- package/dist/assets/icons/spinner_small.svg.js +10 -0
- package/dist/assets/icons/spinner_small.svg.js.map +1 -0
- package/dist/components/Base/Base.js +28 -27
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Base/useBase.d.ts +2 -0
- package/dist/components/Base/useBase.js.map +1 -1
- package/dist/components/Common/DataView/DataView.d.ts +2 -1
- package/dist/components/Common/DataView/DataView.js +20 -19
- package/dist/components/Common/DataView/DataView.js.map +1 -1
- package/dist/components/Common/DataView/useDataView.d.ts +3 -1
- package/dist/components/Common/DataView/useDataView.js +13 -11
- package/dist/components/Common/DataView/useDataView.js.map +1 -1
- package/dist/components/Common/EmptyData/EmptyData.module.scss.js +1 -1
- package/dist/components/Common/FieldDescription/FieldDescription.js +7 -14
- package/dist/components/Common/FieldDescription/FieldDescription.js.map +1 -1
- package/dist/components/Common/Fields/hooks/useField.d.ts +4 -1
- package/dist/components/Common/Fields/hooks/useField.js +31 -24
- package/dist/components/Common/Fields/hooks/useField.js.map +1 -1
- package/dist/components/Common/InlineSpinner/InlineSpinner.d.ts +6 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.js +25 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.js.map +1 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js +10 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js.map +1 -0
- package/dist/components/Common/InlineSpinner/index.d.ts +2 -0
- package/dist/components/Common/PaginationControl/PaginationControl.js +31 -28
- package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -0
- package/dist/components/Common/SignatureForm/SignatureForm.js +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +1 -1
- package/dist/components/Common/UI/DatePicker/DatePicker.js +1 -1
- package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
- package/dist/components/Common/UI/Tabs/Tabs.d.ts +7 -0
- package/dist/components/Common/UI/Tabs/Tabs.js +25 -0
- package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -0
- package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +8 -0
- package/dist/components/Common/UI/Tabs/Tabs.module.scss.js.map +1 -0
- package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +51 -0
- package/dist/components/Common/UI/Tabs/index.d.ts +3 -0
- package/dist/components/Common/hooks/useNumberFormatter.js +1 -1
- package/dist/components/Common/index.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +5 -5
- package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +2 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +9 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +4 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +9 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +11 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +2 -2
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +9 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +9 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.js +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +3 -3
- package/dist/components/Company/FederalTaxes/Form.js +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +18 -12
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +12 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.js +2 -2
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +4 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +9 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +9 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +9 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +5 -5
- package/dist/components/Company/PaySchedule/usePaySchedule.js +12 -6
- package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +3 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +9 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +9 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/Address.js +4 -4
- package/dist/components/Contractor/Address/useAddress.js +11 -5
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/ContractorList/index.js +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.js +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +52 -50
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/types.d.ts +1 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +19 -12
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +6 -5
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +4 -4
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +7 -7
- package/dist/components/Contractor/Profile/ContractorProfile.js +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +19 -19
- package/dist/components/Contractor/Profile/useContractorProfile.js +40 -35
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +25 -25
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Employee/Compensation/Compensation.js +10 -10
- package/dist/components/Employee/Deductions/Deductions.js +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +4 -4
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +2 -2
- package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +9 -3
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/EmployeeList.js +75 -62
- package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/List.js +27 -25
- package/dist/components/Employee/EmployeeList/List.js.map +1 -1
- package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +1 -0
- package/dist/components/Employee/EmployeeList/useEmployeeList.js +9 -3
- package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/FederalTaxes.js +3 -3
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +9 -3
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +2 -2
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +2 -2
- package/dist/components/Employee/PaymentMethod/BankAccount.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/PaymentMethod.js +8 -8
- package/dist/components/Employee/PaymentMethod/Split.js +1 -1
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.d.ts +8 -8
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +15 -9
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
- package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +2 -2
- package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
- package/dist/components/Employee/Profile/Profile.js +15 -13
- package/dist/components/Employee/Profile/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/useProfile.js +9 -3
- package/dist/components/Employee/Profile/useProfile.js.map +1 -1
- package/dist/components/Employee/StateTaxes/StateTaxes.js +3 -3
- package/dist/components/Employee/StateTaxes/useStateTaxes.js +9 -3
- package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
- package/dist/components/Employee/Taxes/Taxes.js +5 -5
- package/dist/components/Employee/Taxes/useTaxes.js +9 -3
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +4 -2
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +69 -33
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +10 -5
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +119 -50
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +5 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +64 -13
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +18 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +117 -18
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +24 -11
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +8 -6
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +35 -26
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +42 -35
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.d.ts +2 -1
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js +4 -4
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js.map +1 -1
- package/dist/components/Payroll/helpers.d.ts +21 -0
- package/dist/components/Payroll/helpers.js +209 -0
- package/dist/components/Payroll/helpers.js.map +1 -0
- package/dist/components/Payroll/helpers.test.d.ts +1 -0
- package/dist/components/Payroll/usePreparedPayrollData.d.ts +14 -0
- package/dist/components/Payroll/usePreparedPayrollData.js +39 -0
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -0
- package/dist/contexts/ApiProvider/ApiProvider.js +4 -4
- package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +28 -26
- package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
- package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +3 -2
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/helpers/formattedStrings.d.ts +9 -0
- package/dist/helpers/formattedStrings.js +55 -16
- package/dist/helpers/formattedStrings.js.map +1 -1
- package/dist/i18n/I18n.js +15 -15
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +32 -0
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +20 -0
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollList.json.js +14 -0
- package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +18 -0
- package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -0
- package/dist/i18n/en/common.json.d.ts +8 -0
- package/dist/i18n/en/common.json.js +15 -13
- package/dist/i18n/en/common.json.js.map +1 -1
- package/dist/shared/constants.d.ts +6 -0
- package/dist/shared/constants.js +43 -34
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +96 -1
- 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 "
|
|
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 "
|
|
7
|
-
import { useEmployeeTaxSetupUpdateFederalTaxesMutation as B } from "
|
|
8
|
-
import { useEmployeeTaxSetupGetStateTaxesSuspense as H } from "
|
|
9
|
-
import { useEmployeeTaxSetupUpdateStateTaxesMutation as V } from "
|
|
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 [
|
|
17
|
+
const [v, P] = o("TaxesContext");
|
|
12
18
|
export {
|
|
13
|
-
|
|
14
|
-
|
|
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":"
|
|
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
|
|
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
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
...
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
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'\
|
|
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
|
-
|
|
2
|
-
|
|
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
|
-
|
|
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: ({
|
|
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
|
|
2
|
-
import {
|
|
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
|
|
6
|
-
import { HamburgerMenu as
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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(
|
|
22
|
-
/* @__PURE__ */
|
|
23
|
-
/* @__PURE__ */ e(
|
|
24
|
-
|
|
25
|
-
{
|
|
26
|
-
|
|
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(
|
|
37
|
-
/* @__PURE__ */ e(
|
|
64
|
+
/* @__PURE__ */ e(D, { as: "h3", children: l("hoursAndEarningsTitle") }),
|
|
65
|
+
/* @__PURE__ */ e(n, { children: l("hoursAndEarningsDescription") }),
|
|
38
66
|
/* @__PURE__ */ e(
|
|
39
|
-
|
|
67
|
+
O,
|
|
40
68
|
{
|
|
41
|
-
label: "
|
|
69
|
+
label: l("employeeCompensationsTitle"),
|
|
42
70
|
columns: [
|
|
43
71
|
{
|
|
44
|
-
title: "
|
|
45
|
-
render: () =>
|
|
46
|
-
|
|
47
|
-
/* @__PURE__ */
|
|
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: "
|
|
52
|
-
render: () =>
|
|
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
|
-
|
|
57
|
-
|
|
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: "
|
|
62
|
-
icon: /* @__PURE__ */ e(
|
|
130
|
+
label: l("editMenu.edit"),
|
|
131
|
+
icon: /* @__PURE__ */ e(G, { "aria-hidden": !0 }),
|
|
63
132
|
onClick: () => {
|
|
64
|
-
|
|
133
|
+
const r = o.get(t.employeeUuid || "");
|
|
134
|
+
r && g(r);
|
|
65
135
|
}
|
|
66
136
|
}
|
|
67
137
|
],
|
|
68
|
-
triggerLabel: "
|
|
69
|
-
isLoading: !1
|
|
138
|
+
triggerLabel: l("editMenu.edit")
|
|
70
139
|
}
|
|
71
140
|
)
|
|
72
141
|
}
|
|
73
142
|
),
|
|
74
|
-
/* @__PURE__ */ e(
|
|
143
|
+
/* @__PURE__ */ e(b, { title: l("backButtonTitle"), onClick: u, variant: "secondary", children: l("backButton") })
|
|
75
144
|
] });
|
|
76
145
|
};
|
|
77
146
|
export {
|
|
78
|
-
|
|
147
|
+
oe as PayrollConfigurationPresentation
|
|
79
148
|
};
|
|
80
149
|
//# sourceMappingURL=PayrollConfigurationPresentation.js.map
|
package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map
CHANGED
|
@@ -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
|
|
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
|
|
2
|
-
import {
|
|
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
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
67
|
+
b as PayrollEditEmployee,
|
|
68
|
+
h as Root
|
|
18
69
|
};
|
|
19
70
|
//# sourceMappingURL=PayrollEditEmployee.js.map
|