@gusto/embedded-react-sdk 0.45.0 → 0.46.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +64 -0
- package/dist/components/Common/DataView/DataCards/DataCards.d.ts +2 -1
- package/dist/components/Common/DataView/DataCards/DataCards.js +14 -13
- package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
- package/dist/components/Common/DataView/DataTable/DataTable.d.ts +2 -1
- package/dist/components/Common/DataView/DataTable/DataTable.js +51 -50
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/DataView/DataView.d.ts +1 -0
- package/dist/components/Common/DataView/DataView.js.map +1 -1
- package/dist/components/Common/DataView/useDataView.d.ts +8 -1
- package/dist/components/Common/DataView/useDataView.js +20 -17
- package/dist/components/Common/DataView/useDataView.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +20 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +20 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +22 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +20 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +20 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +28 -12
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +23 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +20 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +20 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +20 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +20 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +20 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +22 -6
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.js +52 -42
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.d.ts +9 -0
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js +76 -0
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js.map +1 -0
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js +8 -0
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js.map +1 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.d.ts +11 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js +85 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.module.scss.js +8 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.module.scss.js.map +1 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/index.d.ts +3 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.d.ts +25 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js +81 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js.map +1 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js +8 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js.map +1 -0
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.d.ts +18 -0
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +171 -0
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -0
- package/dist/components/Employee/Compensation/management/index.d.ts +6 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +6 -1
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +67 -209
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.d.ts +18 -0
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +169 -0
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +16 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js +36 -30
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +212 -187
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +8 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js +22 -17
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +12 -2
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +115 -110
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/BasicDetailsView.d.ts +8 -3
- package/dist/components/Employee/Dashboard/BasicDetailsView.js +108 -84
- package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.d.ts +2 -0
- package/dist/components/Employee/Dashboard/Dashboard.js +86 -68
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +8 -4
- package/dist/components/Employee/Dashboard/DashboardComponents.js +147 -93
- package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
- package/dist/components/Employee/Dashboard/DocumentsView.js +18 -11
- package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.js +304 -264
- package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js +10 -0
- package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js.map +1 -0
- package/dist/components/Employee/Dashboard/TaxesView.d.ts +7 -2
- package/dist/components/Employee/Dashboard/TaxesView.js +68 -54
- package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +152 -142
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.d.ts +6 -0
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js +13 -12
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.d.ts +12 -5
- package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js +21 -21
- package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.d.ts +13 -3
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js +53 -55
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.d.ts +10 -4
- package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.js +10 -12
- package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.d.ts +10 -3
- package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.js +19 -14
- package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +20 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +37 -40
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +1 -2
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +64 -71
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +2 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js +25 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +13 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js +37 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -0
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.d.ts +6 -0
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +69 -0
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -0
- package/dist/components/Employee/EmployeeListFlow/index.d.ts +3 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js +15 -12
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +2 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +86 -83
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Employee/Taxes/useTaxes.js +20 -4
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js +14 -11
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +2 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +92 -89
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/exports/employeeManagement.d.ts +2 -0
- package/dist/components/Employee/exports/employeeManagement.js +18 -16
- package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
- package/dist/components/Employee/index.d.ts +2 -0
- package/dist/components/Employee/index.js +32 -30
- package/dist/components/Employee/index.js.map +1 -1
- package/dist/components/Flow/FlowHeader.js +34 -31
- package/dist/components/Flow/FlowHeader.js.map +1 -1
- package/dist/components/Flow/useFlow.d.ts +12 -0
- package/dist/components/Flow/useFlow.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +34 -26
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +36 -22
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js +92 -69
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +23 -23
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +52 -40
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +73 -56
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +58 -58
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +91 -87
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +91 -124
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +72 -87
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +1 -6
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +160 -220
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +7 -3
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +77 -54
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.test.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js +12 -11
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +177 -147
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +38 -36
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +2 -0
- package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +10 -10
- package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js +17 -15
- package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.TimeOffPolicyDetails.json.js +9 -9
- package/dist/i18n/en/Employee.Compensation.json.js +68 -56
- package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.Dashboard.json.js +26 -24
- package/dist/i18n/en/Employee.Dashboard.json.js.map +1 -1
- package/dist/i18n/en/Employee.DocumentManager.json.js +1 -1
- package/dist/i18n/en/Employee.HomeAddress.Management.json.js +12 -10
- package/dist/i18n/en/Employee.HomeAddress.Management.json.js.map +1 -1
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +32 -30
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
- package/dist/i18n/en/Employee.WorkAddress.Management.json.js +16 -14
- package/dist/i18n/en/Employee.WorkAddress.Management.json.js.map +1 -1
- package/dist/i18n/en/common.json.d.ts +21 -0
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +33 -32
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
- package/dist/partner-hook-utils/types.d.ts +4 -0
- package/dist/shared/constants.d.ts +4 -0
- package/dist/shared/constants.js +20 -18
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +45 -11
- package/docs/reference/endpoint-inventory.json +24 -8
- package/package.json +1 -1
|
@@ -1,145 +1,112 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import { useQueryClient as
|
|
4
|
-
import { useHolidayPayPoliciesAddEmployeesMutation as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return n.mode === "wizard" ? /* @__PURE__ */ P(D, { ...n, mode: "wizard" }) : /* @__PURE__ */ P(J, { ...n });
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback as p, useMemo as w } from "react";
|
|
3
|
+
import { useQueryClient as L } from "@tanstack/react-query";
|
|
4
|
+
import { useHolidayPayPoliciesAddEmployeesMutation as M } from "@gusto/embedded-api/react-query/holidayPayPoliciesAddEmployees";
|
|
5
|
+
import { queryKeyHolidayPayPoliciesGet as F, invalidateAllHolidayPayPoliciesGet as U, useHolidayPayPoliciesGetSuspense as Y } from "@gusto/embedded-api/react-query/holidayPayPoliciesGet";
|
|
6
|
+
import { SelectEmployeesPresentation as v } from "./SelectEmployeesPresentation.js";
|
|
7
|
+
import { useSelectEmployeesData as I } from "./useSelectEmployeesData.js";
|
|
8
|
+
import { useBase as q } from "../../../Base/useBase.js";
|
|
9
|
+
import { componentEvents as l } from "../../../../shared/constants.js";
|
|
10
|
+
function K(e) {
|
|
11
|
+
return e.mode === "wizard" ? /* @__PURE__ */ r(E, { ...e, mode: "wizard" }) : /* @__PURE__ */ r(x, { ...e });
|
|
13
12
|
}
|
|
14
|
-
function
|
|
15
|
-
const { data:
|
|
16
|
-
companyUuid:
|
|
17
|
-
}),
|
|
18
|
-
if (!
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
for (const
|
|
22
|
-
|
|
23
|
-
return
|
|
24
|
-
}, [
|
|
25
|
-
return /* @__PURE__ */
|
|
26
|
-
|
|
13
|
+
function x(e) {
|
|
14
|
+
const { data: t } = Y({
|
|
15
|
+
companyUuid: e.companyId
|
|
16
|
+
}), n = t.holidayPayPolicy;
|
|
17
|
+
if (!n) throw new Error("Unexpected response: missing holidayPayPolicy");
|
|
18
|
+
const a = w(() => {
|
|
19
|
+
const o = /* @__PURE__ */ new Set();
|
|
20
|
+
for (const i of n.employees)
|
|
21
|
+
i.uuid && o.add(i.uuid);
|
|
22
|
+
return o;
|
|
23
|
+
}, [n.employees]);
|
|
24
|
+
return /* @__PURE__ */ r(
|
|
25
|
+
E,
|
|
27
26
|
{
|
|
28
|
-
...
|
|
27
|
+
...e,
|
|
29
28
|
mode: "standalone",
|
|
30
|
-
|
|
31
|
-
version:
|
|
29
|
+
existingAssigneeUuids: a,
|
|
30
|
+
version: n.version
|
|
32
31
|
}
|
|
33
32
|
);
|
|
34
33
|
}
|
|
35
|
-
function
|
|
36
|
-
companyId:
|
|
37
|
-
mode:
|
|
38
|
-
|
|
39
|
-
version:
|
|
34
|
+
function E({
|
|
35
|
+
companyId: e,
|
|
36
|
+
mode: t = "standalone",
|
|
37
|
+
existingAssigneeUuids: n,
|
|
38
|
+
version: a
|
|
40
39
|
}) {
|
|
41
|
-
const { onEvent:
|
|
42
|
-
filteredEmployees:
|
|
43
|
-
selectedUuids:
|
|
44
|
-
searchValue:
|
|
45
|
-
pagination:
|
|
46
|
-
isFetching:
|
|
47
|
-
handleSelect:
|
|
48
|
-
handleSelectAll:
|
|
49
|
-
handleSearchChange:
|
|
50
|
-
handleSearchClear:
|
|
51
|
-
} =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const r = await v({
|
|
57
|
-
request: {
|
|
58
|
-
companyUuid: n,
|
|
59
|
-
requestBody: {
|
|
60
|
-
version: l,
|
|
61
|
-
employees: a.map((E) => ({ uuid: E }))
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
r.holidayPayPolicy?.version && (l = r.holidayPayPolicy.version), o = r.holidayPayPolicy;
|
|
66
|
-
}
|
|
67
|
-
t.length > 0 && (o = (await S({
|
|
68
|
-
request: {
|
|
69
|
-
companyUuid: n,
|
|
70
|
-
requestBody: {
|
|
71
|
-
version: l,
|
|
72
|
-
employees: t.map((E) => ({ uuid: E }))
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
})).holidayPayPolicy), o && p.setQueryData(
|
|
76
|
-
T(n, {}),
|
|
77
|
-
(r) => r ? { ...r, holidayPayPolicy: o } : void 0
|
|
78
|
-
), await Q(p), i(f.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, o);
|
|
79
|
-
});
|
|
80
|
-
},
|
|
81
|
-
[y, v, S, n, m, p, i]
|
|
82
|
-
), b = u(async () => {
|
|
83
|
-
if (c === "wizard") {
|
|
84
|
-
i(f.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {
|
|
85
|
-
employeeUuids: [...s]
|
|
40
|
+
const { onEvent: o, baseSubmitHandler: i } = q(), c = L(), {
|
|
41
|
+
filteredEmployees: P,
|
|
42
|
+
selectedUuids: d,
|
|
43
|
+
searchValue: f,
|
|
44
|
+
pagination: h,
|
|
45
|
+
isFetching: S,
|
|
46
|
+
handleSelect: A,
|
|
47
|
+
handleSelectAll: _,
|
|
48
|
+
handleSearchChange: D,
|
|
49
|
+
handleSearchClear: g
|
|
50
|
+
} = I(e, n), { mutateAsync: m, isPending: O } = M(), C = p(async () => {
|
|
51
|
+
const y = [...d];
|
|
52
|
+
if (t === "wizard") {
|
|
53
|
+
o(l.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {
|
|
54
|
+
employeeUuids: y
|
|
86
55
|
});
|
|
87
56
|
return;
|
|
88
57
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
i(f.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE);
|
|
58
|
+
if (y.length === 0) {
|
|
59
|
+
o(l.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE);
|
|
92
60
|
return;
|
|
93
61
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}, [
|
|
110
|
-
|
|
111
|
-
|
|
62
|
+
await i({}, async () => {
|
|
63
|
+
const u = (await m({
|
|
64
|
+
request: {
|
|
65
|
+
companyUuid: e,
|
|
66
|
+
requestBody: {
|
|
67
|
+
version: a ?? "",
|
|
68
|
+
employees: y.map((s) => ({ uuid: s }))
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
})).holidayPayPolicy;
|
|
72
|
+
u && c.setQueryData(
|
|
73
|
+
F(e, {}),
|
|
74
|
+
(s) => s ? { ...s, holidayPayPolicy: u } : void 0
|
|
75
|
+
), await U(c), o(l.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, u);
|
|
76
|
+
});
|
|
77
|
+
}, [
|
|
78
|
+
t,
|
|
79
|
+
d,
|
|
80
|
+
i,
|
|
81
|
+
m,
|
|
82
|
+
e,
|
|
83
|
+
a,
|
|
84
|
+
c,
|
|
85
|
+
o
|
|
86
|
+
]), H = p(() => {
|
|
87
|
+
o(l.CANCEL);
|
|
88
|
+
}, [o]);
|
|
89
|
+
return /* @__PURE__ */ r(
|
|
90
|
+
v,
|
|
112
91
|
{
|
|
113
|
-
employees:
|
|
114
|
-
selectedUuids:
|
|
115
|
-
searchValue:
|
|
116
|
-
onSelect:
|
|
117
|
-
onSelectAll:
|
|
118
|
-
onSearchChange:
|
|
119
|
-
onSearchClear:
|
|
120
|
-
onBack:
|
|
121
|
-
onContinue:
|
|
92
|
+
employees: P,
|
|
93
|
+
selectedUuids: d,
|
|
94
|
+
searchValue: f,
|
|
95
|
+
onSelect: A,
|
|
96
|
+
onSelectAll: _,
|
|
97
|
+
onSearchChange: D,
|
|
98
|
+
onSearchClear: g,
|
|
99
|
+
onBack: H,
|
|
100
|
+
onContinue: C,
|
|
122
101
|
showReassignmentWarning: !1,
|
|
123
102
|
isHolidayPolicy: !0,
|
|
124
|
-
pagination:
|
|
125
|
-
isFetching:
|
|
126
|
-
isPending:
|
|
127
|
-
originallyOnPolicyUuids: e,
|
|
128
|
-
removeConfirmDialog: c === "standalone" ? {
|
|
129
|
-
isOpen: Y,
|
|
130
|
-
count: I,
|
|
131
|
-
onConfirm: () => {
|
|
132
|
-
B();
|
|
133
|
-
},
|
|
134
|
-
onClose: () => {
|
|
135
|
-
h(!1);
|
|
136
|
-
},
|
|
137
|
-
isPending: C
|
|
138
|
-
} : void 0
|
|
103
|
+
pagination: h,
|
|
104
|
+
isFetching: S,
|
|
105
|
+
isPending: O
|
|
139
106
|
}
|
|
140
107
|
);
|
|
141
108
|
}
|
|
142
109
|
export {
|
|
143
|
-
|
|
110
|
+
K as SelectEmployeesHoliday
|
|
144
111
|
};
|
|
145
112
|
//# sourceMappingURL=SelectEmployeesHoliday.js.map
|
package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectEmployeesHoliday.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesAddEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesAddEmployees'\nimport { useHolidayPayPoliciesRemoveEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesRemoveEmployees'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api/models/components/holidaypaypolicy'\nimport { SelectEmployeesPresentation } from './SelectEmployeesPresentation'\nimport { useSelectEmployeesData } from './useSelectEmployeesData'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\ninterface SelectEmployeesHolidayProps {\n companyId: string\n mode?: 'standalone' | 'wizard'\n}\n\nexport function SelectEmployeesHoliday(props: SelectEmployeesHolidayProps) {\n if (props.mode === 'wizard') {\n return <SelectEmployeesHolidayInner {...props} mode=\"wizard\" />\n }\n return <StandaloneLoader {...props} />\n}\n\nfunction StandaloneLoader(props: SelectEmployeesHolidayProps) {\n const { data: policyResponse } = useHolidayPayPoliciesGetSuspense({\n companyUuid: props.companyId,\n })\n const policy = policyResponse.holidayPayPolicy\n if (!policy) throw new Error('Unexpected response: missing holidayPayPolicy')\n\n const originalUuids = useMemo(() => {\n const set = new Set<string>()\n for (const e of policy.employees) {\n if (e.uuid) set.add(e.uuid)\n }\n return set\n }, [policy.employees])\n\n return (\n <SelectEmployeesHolidayInner\n {...props}\n mode=\"standalone\"\n originalUuids={originalUuids}\n version={policy.version}\n />\n )\n}\n\ninterface InnerProps extends SelectEmployeesHolidayProps {\n originalUuids?: Set<string>\n version?: string\n}\n\nfunction SelectEmployeesHolidayInner({\n companyId,\n mode = 'standalone',\n originalUuids,\n version,\n}: InnerProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const {\n filteredEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange,\n handleSearchClear,\n } = useSelectEmployeesData(companyId, originalUuids)\n\n const { mutateAsync: addEmployees, isPending: isAddPending } =\n useHolidayPayPoliciesAddEmployeesMutation()\n const { mutateAsync: removeEmployees, isPending: isRemovePending } =\n useHolidayPayPoliciesRemoveEmployeesMutation()\n const isSubmitPending = isAddPending || isRemovePending\n\n const [confirmRemoveOpen, setConfirmRemoveOpen] = useState(false)\n\n const submitDiff = useCallback(\n async (toAdd: string[], toRemove: string[]) => {\n await baseSubmitHandler({}, async () => {\n let currentVersion = version ?? ''\n let latestPolicy: HolidayPayPolicy | undefined\n if (toRemove.length > 0) {\n const response = await removeEmployees({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: currentVersion,\n employees: toRemove.map(uuid => ({ uuid })),\n },\n },\n })\n if (response.holidayPayPolicy?.version) {\n currentVersion = response.holidayPayPolicy.version\n }\n latestPolicy = response.holidayPayPolicy\n }\n if (toAdd.length > 0) {\n const response = await addEmployees({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: currentVersion,\n employees: toAdd.map(uuid => ({ uuid })),\n },\n },\n })\n latestPolicy = response.holidayPayPolicy\n }\n // Seed the GET cache from the mutation response so that the next mount\n // of HolidayPolicyDetail reads fresh data immediately. invalidateQueries\n // alone only refetches *active* subscriptions, but we navigate away\n // before the refetch can complete.\n if (latestPolicy) {\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: latestPolicy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n }\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, latestPolicy)\n })\n },\n [baseSubmitHandler, removeEmployees, addEmployees, companyId, version, queryClient, onEvent],\n )\n\n const handleContinue = useCallback(async () => {\n if (mode === 'wizard') {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {\n employeeUuids: [...selectedUuids],\n })\n return\n }\n\n const original = originalUuids ?? new Set<string>()\n const toAdd = [...selectedUuids].filter(uuid => !original.has(uuid))\n const toRemove = [...original].filter(uuid => !selectedUuids.has(uuid))\n\n if (toAdd.length === 0 && toRemove.length === 0) {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE)\n return\n }\n\n if (toRemove.length > 0) {\n setConfirmRemoveOpen(true)\n return\n }\n\n await submitDiff(toAdd, toRemove)\n }, [mode, originalUuids, selectedUuids, onEvent, submitDiff])\n\n const handleConfirmRemove = useCallback(async () => {\n const original = originalUuids ?? new Set<string>()\n const toAdd = [...selectedUuids].filter(uuid => !original.has(uuid))\n const toRemove = [...original].filter(uuid => !selectedUuids.has(uuid))\n setConfirmRemoveOpen(false)\n await submitDiff(toAdd, toRemove)\n }, [originalUuids, selectedUuids, submitDiff])\n\n const removeCount = useMemo(() => {\n if (!originalUuids) return 0\n let count = 0\n for (const uuid of originalUuids) if (!selectedUuids.has(uuid)) count += 1\n return count\n }, [originalUuids, selectedUuids])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <SelectEmployeesPresentation\n employees={filteredEmployees}\n selectedUuids={selectedUuids}\n searchValue={searchValue}\n onSelect={handleSelect}\n onSelectAll={handleSelectAll}\n onSearchChange={handleSearchChange}\n onSearchClear={handleSearchClear}\n onBack={handleBack}\n onContinue={handleContinue}\n showReassignmentWarning={false}\n isHolidayPolicy\n pagination={pagination}\n isFetching={isFetching}\n isPending={isSubmitPending}\n originallyOnPolicyUuids={originalUuids}\n removeConfirmDialog={\n mode === 'standalone'\n ? {\n isOpen: confirmRemoveOpen,\n count: removeCount,\n onConfirm: () => {\n void handleConfirmRemove()\n },\n onClose: () => {\n setConfirmRemoveOpen(false)\n },\n isPending: isRemovePending,\n }\n : undefined\n }\n />\n )\n}\n"],"names":["SelectEmployeesHoliday","props","jsx","SelectEmployeesHolidayInner","StandaloneLoader","policyResponse","useHolidayPayPoliciesGetSuspense","policy","originalUuids","useMemo","set","e","companyId","mode","version","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","filteredEmployees","selectedUuids","searchValue","pagination","isFetching","handleSelect","handleSelectAll","handleSearchChange","handleSearchClear","useSelectEmployeesData","addEmployees","isAddPending","useHolidayPayPoliciesAddEmployeesMutation","removeEmployees","isRemovePending","useHolidayPayPoliciesRemoveEmployeesMutation","isSubmitPending","confirmRemoveOpen","setConfirmRemoveOpen","useState","submitDiff","useCallback","toAdd","toRemove","currentVersion","latestPolicy","response","uuid","queryKeyHolidayPayPoliciesGet","prev","invalidateAllHolidayPayPoliciesGet","componentEvents","handleContinue","original","handleConfirmRemove","removeCount","count","handleBack","SelectEmployeesPresentation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectEmployeesHoliday.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesAddEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesAddEmployees'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api/models/components/holidaypaypolicy'\nimport { SelectEmployeesPresentation } from './SelectEmployeesPresentation'\nimport { useSelectEmployeesData } from './useSelectEmployeesData'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\ninterface SelectEmployeesHolidayProps {\n companyId: string\n mode?: 'standalone' | 'wizard'\n}\n\nexport function SelectEmployeesHoliday(props: SelectEmployeesHolidayProps) {\n if (props.mode === 'wizard') {\n return <SelectEmployeesHolidayInner {...props} mode=\"wizard\" />\n }\n return <StandaloneLoader {...props} />\n}\n\nfunction StandaloneLoader(props: SelectEmployeesHolidayProps) {\n const { data: policyResponse } = useHolidayPayPoliciesGetSuspense({\n companyUuid: props.companyId,\n })\n const policy = policyResponse.holidayPayPolicy\n if (!policy) throw new Error('Unexpected response: missing holidayPayPolicy')\n\n const existingAssigneeUuids = useMemo(() => {\n const set = new Set<string>()\n for (const e of policy.employees) {\n if (e.uuid) set.add(e.uuid)\n }\n return set\n }, [policy.employees])\n\n return (\n <SelectEmployeesHolidayInner\n {...props}\n mode=\"standalone\"\n existingAssigneeUuids={existingAssigneeUuids}\n version={policy.version}\n />\n )\n}\n\ninterface InnerProps extends SelectEmployeesHolidayProps {\n existingAssigneeUuids?: Set<string>\n version?: string\n}\n\nfunction SelectEmployeesHolidayInner({\n companyId,\n mode = 'standalone',\n existingAssigneeUuids,\n version,\n}: InnerProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const {\n filteredEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange,\n handleSearchClear,\n } = useSelectEmployeesData(companyId, existingAssigneeUuids)\n\n const { mutateAsync: addEmployees, isPending: isAddPending } =\n useHolidayPayPoliciesAddEmployeesMutation()\n\n const handleContinue = useCallback(async () => {\n const toAdd = [...selectedUuids]\n\n if (mode === 'wizard') {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {\n employeeUuids: toAdd,\n })\n return\n }\n\n if (toAdd.length === 0) {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE)\n return\n }\n\n await baseSubmitHandler({}, async () => {\n const response = await addEmployees({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: version ?? '',\n employees: toAdd.map(uuid => ({ uuid })),\n },\n },\n })\n const latestPolicy: HolidayPayPolicy | undefined = response.holidayPayPolicy\n // Seed the GET cache from the mutation response so that the next mount\n // of HolidayPolicyDetail reads fresh data immediately. invalidateQueries\n // alone only refetches *active* subscriptions, but we navigate away\n // before the refetch can complete.\n if (latestPolicy) {\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: latestPolicy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n }\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, latestPolicy)\n })\n }, [\n mode,\n selectedUuids,\n baseSubmitHandler,\n addEmployees,\n companyId,\n version,\n queryClient,\n onEvent,\n ])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <SelectEmployeesPresentation\n employees={filteredEmployees}\n selectedUuids={selectedUuids}\n searchValue={searchValue}\n onSelect={handleSelect}\n onSelectAll={handleSelectAll}\n onSearchChange={handleSearchChange}\n onSearchClear={handleSearchClear}\n onBack={handleBack}\n onContinue={handleContinue}\n showReassignmentWarning={false}\n isHolidayPolicy\n pagination={pagination}\n isFetching={isFetching}\n isPending={isAddPending}\n />\n )\n}\n"],"names":["SelectEmployeesHoliday","props","jsx","SelectEmployeesHolidayInner","StandaloneLoader","policyResponse","useHolidayPayPoliciesGetSuspense","policy","existingAssigneeUuids","useMemo","set","e","companyId","mode","version","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","filteredEmployees","selectedUuids","searchValue","pagination","isFetching","handleSelect","handleSelectAll","handleSearchChange","handleSearchClear","useSelectEmployeesData","addEmployees","isAddPending","useHolidayPayPoliciesAddEmployeesMutation","handleContinue","useCallback","toAdd","componentEvents","latestPolicy","uuid","queryKeyHolidayPayPoliciesGet","prev","invalidateAllHolidayPayPoliciesGet","handleBack","SelectEmployeesPresentation"],"mappings":"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"}
|
package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { SelectEmployeesPresentationProps } from './SelectEmployeesPresentationTypes';
|
|
2
|
-
export declare function SelectEmployeesPresentation({ employees, selectedUuids, searchValue, onSelect, onSelectAll, onSearchChange, onSearchClear, onBack, onContinue, showReassignmentWarning, isHolidayPolicy, policyTypeLabel, balances, onBalanceChange, pagination, isFetching,
|
|
2
|
+
export declare function SelectEmployeesPresentation({ employees, selectedUuids, searchValue, onSelect, onSelectAll, onSearchChange, onSearchClear, onBack, onContinue, showReassignmentWarning, isHolidayPolicy, policyTypeLabel, balances, onBalanceChange, pagination, isFetching, addConfirmDialog, isPending, }: SelectEmployeesPresentationProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js
CHANGED
|
@@ -1,81 +1,80 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import { useId as
|
|
4
|
-
import { EmployeeTable as
|
|
5
|
-
import
|
|
6
|
-
import { Flex as
|
|
1
|
+
import { jsxs as r, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as H } from "react-i18next";
|
|
3
|
+
import { useId as P } from "react";
|
|
4
|
+
import { EmployeeTable as j } from "../../shared/EmployeeTable/EmployeeTable.js";
|
|
5
|
+
import v from "./SelectEmployeesPresentation.module.scss.js";
|
|
6
|
+
import { Flex as a } from "../../../Common/Flex/Flex.js";
|
|
7
7
|
import "classnames";
|
|
8
8
|
import "../../../../shared/constants.js";
|
|
9
|
-
import { ActionsLayout as
|
|
10
|
-
import { useComponentContext as
|
|
11
|
-
import { useI18n as
|
|
12
|
-
const
|
|
13
|
-
function
|
|
14
|
-
employees:
|
|
9
|
+
import { ActionsLayout as B } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
10
|
+
import { useComponentContext as N } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
11
|
+
import { useI18n as w } from "../../../../i18n/I18n.js";
|
|
12
|
+
const z = (o) => /^\d*\.?\d*$/.test(o);
|
|
13
|
+
function X({
|
|
14
|
+
employees: o,
|
|
15
15
|
selectedUuids: f,
|
|
16
|
-
searchValue:
|
|
16
|
+
searchValue: c,
|
|
17
17
|
onSelect: h,
|
|
18
|
-
onSelectAll:
|
|
19
|
-
onSearchChange:
|
|
20
|
-
onSearchClear:
|
|
21
|
-
onBack:
|
|
22
|
-
onContinue:
|
|
23
|
-
showReassignmentWarning:
|
|
24
|
-
isHolidayPolicy:
|
|
25
|
-
policyTypeLabel:
|
|
26
|
-
balances:
|
|
27
|
-
onBalanceChange:
|
|
28
|
-
pagination:
|
|
29
|
-
isFetching:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
removeConfirmDialog: i,
|
|
33
|
-
addConfirmDialog: o,
|
|
34
|
-
isPending: s = !1
|
|
18
|
+
onSelectAll: y,
|
|
19
|
+
onSearchChange: C,
|
|
20
|
+
onSearchClear: g,
|
|
21
|
+
onBack: b,
|
|
22
|
+
onContinue: x,
|
|
23
|
+
showReassignmentWarning: I,
|
|
24
|
+
isHolidayPolicy: A = !1,
|
|
25
|
+
policyTypeLabel: S,
|
|
26
|
+
balances: T,
|
|
27
|
+
onBalanceChange: s,
|
|
28
|
+
pagination: k,
|
|
29
|
+
isFetching: L,
|
|
30
|
+
addConfirmDialog: n,
|
|
31
|
+
isPending: m = !1
|
|
35
32
|
}) {
|
|
36
|
-
|
|
37
|
-
const { t } =
|
|
38
|
-
return /* @__PURE__ */
|
|
39
|
-
/* @__PURE__ */
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
-
/* @__PURE__ */
|
|
33
|
+
w("Company.TimeOff.SelectEmployees");
|
|
34
|
+
const { t: e } = H("Company.TimeOff.SelectEmployees"), p = N(), { Heading: D, Text: u, Button: d, Alert: E, Dialog: O } = p, $ = P();
|
|
35
|
+
return /* @__PURE__ */ r(a, { flexDirection: "column", alignItems: "stretch", gap: 32, children: [
|
|
36
|
+
/* @__PURE__ */ r(a, { flexDirection: "column", gap: 4, children: [
|
|
37
|
+
/* @__PURE__ */ t(D, { as: "h2", children: e("title") }),
|
|
38
|
+
/* @__PURE__ */ t(u, { variant: "supporting", children: e(A ? "holidayDescription" : "description") })
|
|
42
39
|
] }),
|
|
43
|
-
|
|
44
|
-
/* @__PURE__ */
|
|
45
|
-
|
|
40
|
+
I && /* @__PURE__ */ t(E, { status: "warning", label: e("reassignmentWarning", { policyType: S }) }),
|
|
41
|
+
/* @__PURE__ */ t(
|
|
42
|
+
j,
|
|
46
43
|
{
|
|
47
|
-
data:
|
|
48
|
-
searchValue:
|
|
49
|
-
onSearchChange:
|
|
50
|
-
onSearchClear:
|
|
44
|
+
data: o,
|
|
45
|
+
searchValue: c,
|
|
46
|
+
onSearchChange: C,
|
|
47
|
+
onSearchClear: g,
|
|
48
|
+
hideSearch: o.length === 0 && c.length === 0,
|
|
51
49
|
selectionMode: "multiple",
|
|
52
50
|
onSelect: h,
|
|
53
|
-
onSelectAll:
|
|
54
|
-
getIsItemSelected: (
|
|
55
|
-
isFetching:
|
|
56
|
-
pagination:
|
|
51
|
+
onSelectAll: y,
|
|
52
|
+
getIsItemSelected: (i) => f.has(i.uuid),
|
|
53
|
+
isFetching: L,
|
|
54
|
+
pagination: k,
|
|
55
|
+
emptyState: () => /* @__PURE__ */ t(a, { flexDirection: "column", alignItems: "center", gap: 8, children: /* @__PURE__ */ t(u, { size: "sm", textAlign: "center", children: e("emptyState") }) }),
|
|
57
56
|
additionalColumns: [
|
|
58
57
|
{
|
|
59
58
|
key: "department",
|
|
60
|
-
title:
|
|
59
|
+
title: e("departmentColumn")
|
|
61
60
|
},
|
|
62
|
-
...
|
|
61
|
+
...s ? [
|
|
63
62
|
{
|
|
64
63
|
key: "balance",
|
|
65
|
-
title:
|
|
66
|
-
render: (
|
|
67
|
-
|
|
64
|
+
title: e("startingBalanceColumn"),
|
|
65
|
+
render: (i) => /* @__PURE__ */ t(
|
|
66
|
+
p.TextInput,
|
|
68
67
|
{
|
|
69
|
-
name: `balance-${
|
|
70
|
-
label:
|
|
68
|
+
name: `balance-${i.uuid}`,
|
|
69
|
+
label: e("startingBalanceColumn"),
|
|
71
70
|
shouldVisuallyHideLabel: !0,
|
|
72
|
-
"aria-labelledby": `employee-name-${
|
|
73
|
-
value:
|
|
74
|
-
onChange: (
|
|
75
|
-
|
|
71
|
+
"aria-labelledby": `employee-name-${i.uuid} ${$}`,
|
|
72
|
+
value: T?.[i.uuid] ?? "",
|
|
73
|
+
onChange: (l) => {
|
|
74
|
+
l !== "" && !z(l) || s(i.uuid, l);
|
|
76
75
|
},
|
|
77
76
|
placeholder: "0",
|
|
78
|
-
className:
|
|
77
|
+
className: v.balanceInput
|
|
79
78
|
}
|
|
80
79
|
)
|
|
81
80
|
}
|
|
@@ -83,40 +82,26 @@ function _({
|
|
|
83
82
|
]
|
|
84
83
|
}
|
|
85
84
|
),
|
|
86
|
-
/* @__PURE__ */
|
|
87
|
-
/* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */ r(B, { children: [
|
|
86
|
+
/* @__PURE__ */ t(d, { variant: "secondary", onClick: b, isDisabled: m, children: e("backCta") }),
|
|
87
|
+
/* @__PURE__ */ t(d, { variant: "primary", onClick: x, isLoading: m, children: e("continueCta") })
|
|
89
88
|
] }),
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
n && /* @__PURE__ */ t(
|
|
90
|
+
O,
|
|
92
91
|
{
|
|
93
|
-
isOpen:
|
|
94
|
-
onClose:
|
|
95
|
-
onPrimaryActionClick:
|
|
96
|
-
isPrimaryActionLoading:
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
children: t("removeConfirmDialog.description", { count: i.count })
|
|
102
|
-
}
|
|
103
|
-
),
|
|
104
|
-
o && /* @__PURE__ */ n(
|
|
105
|
-
p,
|
|
106
|
-
{
|
|
107
|
-
isOpen: o.isOpen,
|
|
108
|
-
onClose: o.onClose,
|
|
109
|
-
onPrimaryActionClick: o.onConfirm,
|
|
110
|
-
isPrimaryActionLoading: o.isPending,
|
|
111
|
-
title: t("addConfirmDialog.title", { count: o.count }),
|
|
112
|
-
primaryActionLabel: t("addConfirmDialog.confirmCta"),
|
|
113
|
-
closeActionLabel: t("addConfirmDialog.cancelCta"),
|
|
114
|
-
children: t("addConfirmDialog.description", { count: o.count })
|
|
92
|
+
isOpen: n.isOpen,
|
|
93
|
+
onClose: n.onClose,
|
|
94
|
+
onPrimaryActionClick: n.onConfirm,
|
|
95
|
+
isPrimaryActionLoading: n.isPending,
|
|
96
|
+
title: e("addConfirmDialog.title", { count: n.count }),
|
|
97
|
+
primaryActionLabel: e("addConfirmDialog.confirmCta"),
|
|
98
|
+
closeActionLabel: e("addConfirmDialog.cancelCta"),
|
|
99
|
+
children: e("addConfirmDialog.description", { count: n.count })
|
|
115
100
|
}
|
|
116
101
|
)
|
|
117
102
|
] });
|
|
118
103
|
}
|
|
119
104
|
export {
|
|
120
|
-
|
|
105
|
+
X as SelectEmployeesPresentation
|
|
121
106
|
};
|
|
122
107
|
//# sourceMappingURL=SelectEmployeesPresentation.js.map
|
package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectEmployeesPresentation.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useId } from 'react'\nimport { EmployeeTable } from '../../shared/EmployeeTable/EmployeeTable'\nimport type {\n EmployeeItem,\n SelectEmployeesPresentationProps,\n} from './SelectEmployeesPresentationTypes'\nimport styles from './SelectEmployeesPresentation.module.scss'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst isNumericInput = (value: string) => /^\\d*\\.?\\d*$/.test(value)\n\nexport function SelectEmployeesPresentation({\n employees,\n selectedUuids,\n searchValue,\n onSelect,\n onSelectAll,\n onSearchChange,\n onSearchClear,\n onBack,\n onContinue,\n showReassignmentWarning,\n isHolidayPolicy = false,\n policyTypeLabel,\n balances,\n onBalanceChange,\n pagination,\n isFetching,\n
|
|
1
|
+
{"version":3,"file":"SelectEmployeesPresentation.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useId } from 'react'\nimport { EmployeeTable } from '../../shared/EmployeeTable/EmployeeTable'\nimport type {\n EmployeeItem,\n SelectEmployeesPresentationProps,\n} from './SelectEmployeesPresentationTypes'\nimport styles from './SelectEmployeesPresentation.module.scss'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst isNumericInput = (value: string) => /^\\d*\\.?\\d*$/.test(value)\n\nexport function SelectEmployeesPresentation({\n employees,\n selectedUuids,\n searchValue,\n onSelect,\n onSelectAll,\n onSearchChange,\n onSearchClear,\n onBack,\n onContinue,\n showReassignmentWarning,\n isHolidayPolicy = false,\n policyTypeLabel,\n balances,\n onBalanceChange,\n pagination,\n isFetching,\n addConfirmDialog,\n isPending = false,\n}: SelectEmployeesPresentationProps) {\n useI18n('Company.TimeOff.SelectEmployees')\n const { t } = useTranslation('Company.TimeOff.SelectEmployees')\n const Components = useComponentContext()\n const { Heading, Text, Button, Alert, Dialog } = Components\n const balanceColHeaderId = useId()\n\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n {isHolidayPolicy ? t('holidayDescription') : t('description')}\n </Text>\n </Flex>\n\n {showReassignmentWarning && (\n <Alert status=\"warning\" label={t('reassignmentWarning', { policyType: policyTypeLabel })} />\n )}\n\n <EmployeeTable<EmployeeItem>\n data={employees}\n searchValue={searchValue}\n onSearchChange={onSearchChange}\n onSearchClear={onSearchClear}\n hideSearch={employees.length === 0 && searchValue.length === 0}\n selectionMode=\"multiple\"\n onSelect={onSelect}\n onSelectAll={onSelectAll}\n getIsItemSelected={item => selectedUuids.has(item.uuid)}\n isFetching={isFetching}\n pagination={pagination}\n emptyState={() => (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <Text size=\"sm\" textAlign=\"center\">\n {t('emptyState')}\n </Text>\n </Flex>\n )}\n additionalColumns={[\n {\n key: 'department' as keyof EmployeeItem,\n title: t('departmentColumn'),\n },\n ...(onBalanceChange\n ? [\n {\n key: 'balance' as keyof EmployeeItem,\n title: t('startingBalanceColumn'),\n render: (employee: EmployeeItem) => (\n <Components.TextInput\n name={`balance-${employee.uuid}`}\n label={t('startingBalanceColumn')}\n shouldVisuallyHideLabel\n aria-labelledby={`employee-name-${employee.uuid} ${balanceColHeaderId}`}\n value={balances?.[employee.uuid] ?? ''}\n onChange={(value: string) => {\n if (value !== '' && !isNumericInput(value)) return\n onBalanceChange(employee.uuid, value)\n }}\n placeholder=\"0\"\n className={styles.balanceInput}\n />\n ),\n },\n ]\n : []),\n ]}\n />\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onBack} isDisabled={isPending}>\n {t('backCta')}\n </Button>\n <Button variant=\"primary\" onClick={onContinue} isLoading={isPending}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n\n {addConfirmDialog && (\n <Dialog\n isOpen={addConfirmDialog.isOpen}\n onClose={addConfirmDialog.onClose}\n onPrimaryActionClick={addConfirmDialog.onConfirm}\n isPrimaryActionLoading={addConfirmDialog.isPending}\n title={t('addConfirmDialog.title', { count: addConfirmDialog.count })}\n primaryActionLabel={t('addConfirmDialog.confirmCta')}\n closeActionLabel={t('addConfirmDialog.cancelCta')}\n >\n {t('addConfirmDialog.description', { count: addConfirmDialog.count })}\n </Dialog>\n )}\n </Flex>\n )\n}\n"],"names":["isNumericInput","value","SelectEmployeesPresentation","employees","selectedUuids","searchValue","onSelect","onSelectAll","onSearchChange","onSearchClear","onBack","onContinue","showReassignmentWarning","isHolidayPolicy","policyTypeLabel","balances","onBalanceChange","pagination","isFetching","addConfirmDialog","isPending","useI18n","t","useTranslation","Components","useComponentContext","Heading","Text","Button","Alert","Dialog","balanceColHeaderId","useId","Flex","jsxs","jsx","EmployeeTable","item","employee","styles","ActionsLayout"],"mappings":"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"}
|
|
@@ -33,12 +33,7 @@ export interface SelectEmployeesPresentationProps {
|
|
|
33
33
|
onBalanceChange?: (uuid: string, value: string) => void;
|
|
34
34
|
pagination?: PaginationControlProps;
|
|
35
35
|
isFetching?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
originallyOnPolicyUuids?: Set<string>;
|
|
38
|
-
/** Current policy balances keyed by employee uuid. Used to render read-only balance text for originally-on-policy employees. */
|
|
39
|
-
originalBalances?: Record<string, string>;
|
|
40
|
-
/** Optional confirm dialog shown before submitting when the user is about to remove employees from the policy. */
|
|
41
|
-
removeConfirmDialog?: ConfirmDialogState;
|
|
36
|
+
/** Optional confirm dialog shown before submitting an add to the policy. */
|
|
42
37
|
addConfirmDialog?: ConfirmDialogState;
|
|
43
38
|
/** Disables the back button and shows a spinner on the continue button while a submit is in flight. */
|
|
44
39
|
isPending?: boolean;
|