@gusto/embedded-react-sdk 0.46.0 → 0.46.3
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 +117 -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 +85 -80
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js +8 -0
- package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js.map +1 -0
- 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 +10 -1
- package/dist/components/Common/DataView/useDataView.js +20 -17
- package/dist/components/Common/DataView/useDataView.js.map +1 -1
- package/dist/components/Common/DocumentViewer/DocumentViewer.js +10 -10
- package/dist/components/Common/DocumentViewer/DocumentViewer.js.map +1 -1
- package/dist/components/Common/DocumentViewer/DocumentViewer.module.scss.js +9 -9
- package/dist/components/Common/PaginationControl/PaginationControl.js +11 -10
- package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -1
- package/dist/components/Common/UI/DescriptionList/DescriptionList.js +11 -10
- package/dist/components/Common/UI/DescriptionList/DescriptionList.js.map +1 -1
- package/dist/components/Common/UI/DescriptionList/DescriptionList.module.scss.js +4 -4
- package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -1
- package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
- package/dist/components/Common/UI/NumberInput/NumberInput.js +51 -48
- package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/Common/VisuallyHidden/VisuallyHidden.d.ts +1 -1
- package/dist/components/Common/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -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 +5 -6
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +6 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +3 -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 +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +5 -6
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.js +33 -34
- 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.js +60 -202
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -1
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.d.ts +25 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js +79 -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 +3 -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/onboarding/JobsList/JobsListPresentation.js +36 -36
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.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 +213 -191
- 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/useJobForm.d.ts +6 -5
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +162 -131
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/BasicDetailsView.js +74 -88
- package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +86 -72
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +3 -3
- package/dist/components/Employee/Dashboard/DashboardComponents.js +138 -101
- package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
- package/dist/components/Employee/Dashboard/DocumentsView.js +17 -10
- package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.js +359 -313
- package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js +5 -3
- package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js.map +1 -1
- package/dist/components/Employee/Dashboard/TaxesView.js +114 -101
- package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +147 -148
- 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 +37 -36
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.d.ts +2 -2
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js +34 -35
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js +57 -57
- package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +14 -5
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js +55 -36
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js +18 -18
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +3 -3
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -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 +170 -157
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +56 -55
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +20 -20
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
- 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/useHomeAddressForm/homeAddressSchema.d.ts +0 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js +11 -12
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.test.d.ts +1 -0
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +6 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +95 -94
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +6 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +87 -86
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js +18 -18
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Employee/Taxes/useTaxes.js +3 -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 +96 -89
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +61 -60
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.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 +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +2 -3
- 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/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 -125
- 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 +60 -91
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.module.scss.js +4 -4
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +0 -16
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +139 -225
- 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 +78 -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/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +34 -34
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.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/helpers/breadcrumbHelpers.d.ts +1 -1
- package/dist/helpers/breadcrumbHelpers.js.map +1 -1
- package/dist/helpers/federalEin.d.ts +1 -0
- package/dist/helpers/federalEin.js.map +1 -1
- package/dist/helpers/mask.d.ts +8 -4
- package/dist/helpers/mask.js.map +1 -1
- package/dist/helpers/rem.d.ts +2 -1
- package/dist/helpers/rem.js.map +1 -1
- package/dist/hooks/useAsyncError.d.ts +1 -0
- package/dist/hooks/useAsyncError.js.map +1 -1
- package/dist/hooks/useForkRef/useForkRef.d.ts +1 -0
- package/dist/hooks/useForkRef/useForkRef.js.map +1 -1
- package/dist/i18n/I18n.d.ts +9 -1
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js +14 -14
- package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +16 -22
- package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js.map +1 -1
- 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 +66 -58
- package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.Dashboard.json.js +28 -24
- package/dist/i18n/en/Employee.Dashboard.json.js.map +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.PaymentMethod.json.js +25 -25
- package/dist/i18n/en/Employee.StateTaxes.json.js +12 -10
- package/dist/i18n/en/Employee.StateTaxes.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 +14 -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 +2 -0
- package/dist/shared/constants.js +13 -12
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/i18next.d.ts +30 -29
- package/dist/types/observability.d.ts +1 -1
- package/docs/reference/endpoint-inventory.json +24 -8
- package/package.json +30 -27
- package/dist/components/Employee/Dashboard/CompensationCard.d.ts +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicyConfigurationFormPresentation.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.tsx"],"sourcesContent":["import { useCallback, useEffect, useId, useMemo } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport type {\n AccrualMethod,\n AccrualMethodFixed,\n PolicyConfigurationFormData,\n PolicyConfigurationFormPresentationProps,\n ResetDateType,\n} from './PolicyConfigurationFormTypes'\nimport styles from './PolicyConfigurationForm.module.scss'\nimport {\n Flex,\n ActionsLayout,\n RadioGroupField,\n NumberInputField,\n CheckboxField,\n SelectField,\n TextInputField,\n} from '@/components/Common'\nimport { Form as HtmlForm } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { useI18n } from '@/i18n'\nimport { getDaysInMonth } from '@/helpers/dateFormatting'\n\nexport function PolicyConfigurationFormPresentation({\n onContinue,\n onCancel,\n defaultValues,\n editingPolicyName,\n isPending = false,\n}: PolicyConfigurationFormPresentationProps) {\n useI18n('Company.TimeOff.CreateTimeOffPolicy')\n const { t } = useTranslation('Company.TimeOff.CreateTimeOffPolicy')\n const { Heading, Text, Button } = useComponentContext()\n const { locale } = useLocale()\n const headingId = useId()\n\n const monthOptions = useMemo(() => {\n const formatter = new Intl.DateTimeFormat(locale, { month: 'long' })\n return Array.from({ length: 12 }, (_, i) => ({\n value: i + 1,\n label: formatter.format(new Date(2024, i)),\n }))\n }, [locale])\n\n const formMethods = useForm<PolicyConfigurationFormData>({\n defaultValues: {\n name: '',\n resetMonth: 1,\n resetDay: 1,\n ...defaultValues,\n },\n })\n\n const { control, setValue, getValues } = formMethods\n const name = useWatch({ control, name: 'name' })\n const accrualMethod = useWatch({ control, name: 'accrualMethod' })\n const resetDateType = useWatch({ control, name: 'resetDateType' })\n const resetMonth = useWatch({ control, name: 'resetMonth' })\n const isContinueDisabled = !name.trim() || !accrualMethod\n\n const dayOptions = useMemo(() => {\n const days = getDaysInMonth(resetMonth ?? 1)\n return Array.from({ length: days }, (_, i) => ({\n value: i + 1,\n label: String(i + 1),\n }))\n }, [resetMonth])\n\n useEffect(() => {\n const maxDay = getDaysInMonth(resetMonth ?? 1)\n const currentDay = getValues('resetDay')\n if (currentDay != null && currentDay > maxDay) {\n setValue('resetDay', maxDay)\n }\n }, [resetMonth, getValues, setValue])\n\n useEffect(() => {\n if (accrualMethod !== 'per_hour_paid') {\n setValue('accrualRateUnit', undefined)\n setValue('includeOvertime', undefined)\n setValue('allPaidHours', undefined)\n }\n if (accrualMethod !== 'per_calendar_year') {\n setValue('accrualMethodFixed', undefined)\n }\n if (accrualMethod !== 'per_hour_paid' && accrualMethod !== 'per_calendar_year') {\n setValue('resetDateType', undefined)\n setValue('resetMonth', 1)\n setValue('resetDay', 1)\n setValue('accrualRate', undefined)\n }\n }, [accrualMethod, setValue])\n\n const handleResetDateTypeChange = useCallback(\n (value: ResetDateType) => {\n if (value === 'per_anniversary_year') {\n setValue('resetMonth', 1)\n setValue('resetDay', 1)\n }\n },\n [setValue],\n )\n\n const accrualMethodOptions = useMemo(\n () => [\n {\n value: 'per_hour_paid' as AccrualMethod,\n label: t('policyDetails.perHourPaidLabel'),\n description: t('policyDetails.perHourPaidHint'),\n },\n {\n value: 'per_calendar_year' as AccrualMethod,\n label: t('policyDetails.perYearLabel'),\n description: t('policyDetails.perYearHint'),\n },\n {\n value: 'unlimited' as AccrualMethod,\n label: t('policyDetails.unlimitedLabel'),\n description: t('policyDetails.unlimitedHint'),\n },\n ],\n [t],\n )\n\n const accrualMethodFixedOptions = useMemo(\n () => [\n {\n value: 'per_pay_period' as AccrualMethodFixed,\n label: t('policyDetails.perPayPeriodLabel'),\n description: t('policyDetails.perPayPeriodHint'),\n },\n {\n value: 'all_at_once' as AccrualMethodFixed,\n label: t('policyDetails.allAtOnceLabel'),\n description: t('policyDetails.allAtOnceHint'),\n },\n ],\n [t],\n )\n\n const resetDateTypeOptions = useMemo(\n () => [\n {\n value: 'per_anniversary_year' as ResetDateType,\n label: t('policyDetails.perAnniversaryYearLabel'),\n },\n {\n value: 'per_calendar_year' as ResetDateType,\n label: t('policyDetails.perCalendarYearLabel'),\n },\n ],\n [t],\n )\n\n const handleSubmit = (data: PolicyConfigurationFormData) => {\n onContinue(data)\n }\n\n const isHourlyMethod = accrualMethod === 'per_hour_paid'\n const isFixedMethod = accrualMethod === 'per_calendar_year'\n const showResetDate = isHourlyMethod || isFixedMethod\n const showCustomDateFields = resetDateType === 'per_calendar_year'\n\n return (\n <FormProvider {...formMethods}>\n <HtmlForm aria-labelledby={headingId} onSubmit={formMethods.handleSubmit(handleSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n <Heading as=\"h2\" id={headingId}>\n {editingPolicyName\n ? t('policyDetails.editTitle', { name: editingPolicyName })\n : t('policyDetails.createTitle')}\n </Heading>\n\n <Flex flexDirection=\"column\" gap={20}>\n <TextInputField\n name=\"name\"\n label={t('policyDetails.policyNameLabel')}\n isRequired\n errorMessage={t('policyDetails.validations.policyName')}\n />\n\n <RadioGroupField<AccrualMethod>\n name=\"accrualMethod\"\n label={t('policyDetails.accrualMethodLabel')}\n description={t('policyDetails.accrualMethodHint')}\n options={accrualMethodOptions}\n isRequired\n errorMessage={t('policyDetails.validations.accrualMethod')}\n />\n\n {isHourlyMethod && (\n <>\n <hr className={styles.divider} />\n\n <NumberInputField\n className={styles.narrowInput}\n name=\"accrualRate\"\n label={t('policyDetails.employeesWillAccrueLabel')}\n adornmentEnd={t('policyDetails.hoursUnit')}\n isRequired\n errorMessage={t('policyDetails.validations.accrualRate')}\n min={0}\n />\n\n <NumberInputField\n className={styles.narrowInput}\n name=\"accrualRateUnit\"\n label={t('policyDetails.forEveryLabel')}\n adornmentEnd={t('policyDetails.hoursWorkedUnit')}\n isRequired\n errorMessage={t('policyDetails.validations.accrualRateUnit')}\n min={1}\n />\n\n <Flex flexDirection=\"column\" gap={8}>\n <Text>{t('policyDetails.additionalOptionsLabel')}</Text>\n <CheckboxField\n name=\"includeOvertime\"\n label={t('policyDetails.includeOvertimeLabel')}\n />\n <CheckboxField name=\"allPaidHours\" label={t('policyDetails.allPaidHoursLabel')} />\n </Flex>\n </>\n )}\n\n {isFixedMethod && (\n <>\n <hr className={styles.divider} />\n\n <NumberInputField\n className={styles.narrowInput}\n name=\"accrualRate\"\n label={t('policyDetails.fixedAccrualRateLabel')}\n description={t('policyDetails.fixedAccrualRateHint')}\n adornmentEnd={t('policyDetails.hoursUnit')}\n isRequired\n errorMessage={t('policyDetails.validations.accrualRate')}\n min={0}\n />\n\n <RadioGroupField<AccrualMethodFixed>\n name=\"accrualMethodFixed\"\n label={t('policyDetails.accrualMethodFixed')}\n description={t('policyDetails.accrualMethodFixedHint')}\n options={accrualMethodFixedOptions}\n isRequired\n errorMessage={t('policyDetails.validations.accrualMethodFixed')}\n />\n </>\n )}\n\n {showResetDate && (\n <>\n <hr className={styles.divider} />\n\n <RadioGroupField<ResetDateType>\n name=\"resetDateType\"\n label={t('policyDetails.policyResetDateType')}\n description={t('policyDetails.policyResetDateTypeHint')}\n options={resetDateTypeOptions}\n isRequired={!isHourlyMethod}\n errorMessage={t('policyDetails.validations.resetDateType')}\n onChange={handleResetDateTypeChange}\n />\n\n {showCustomDateFields && (\n <Flex gap={8}>\n <SelectField<number>\n className={styles.dateSelect}\n name=\"resetMonth\"\n label={t('policyDetails.monthLabel')}\n options={monthOptions}\n />\n <SelectField<number>\n className={styles.dateSelect}\n name=\"resetDay\"\n label={t('policyDetails.dayLabel')}\n options={dayOptions}\n />\n </Flex>\n )}\n </>\n )}\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onCancel} isDisabled={isPending}>\n {t('cancelCta')}\n </Button>\n <Button\n variant=\"primary\"\n type=\"submit\"\n isLoading={isPending}\n isDisabled={isContinueDisabled}\n >\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Flex>\n </HtmlForm>\n </FormProvider>\n )\n}\n"],"names":["PolicyConfigurationFormPresentation","onContinue","onCancel","defaultValues","editingPolicyName","isPending","useI18n","t","useTranslation","Heading","Text","Button","useComponentContext","locale","useLocale","headingId","useId","monthOptions","useMemo","formatter","_","i","formMethods","useForm","control","setValue","getValues","name","useWatch","accrualMethod","resetDateType","resetMonth","isContinueDisabled","dayOptions","days","getDaysInMonth","useEffect","maxDay","currentDay","handleResetDateTypeChange","useCallback","value","accrualMethodOptions","accrualMethodFixedOptions","resetDateTypeOptions","handleSubmit","data","isHourlyMethod","isFixedMethod","showResetDate","showCustomDateFields","FormProvider","jsx","HtmlForm","jsxs","Flex","TextInputField","RadioGroupField","Fragment","styles","NumberInputField","CheckboxField","SelectField","ActionsLayout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PolicyConfigurationFormPresentation.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.tsx"],"sourcesContent":["import { useCallback, useEffect, useId, useMemo } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport type {\n AccrualMethod,\n AccrualMethodFixed,\n PolicyConfigurationFormData,\n PolicyConfigurationFormPresentationProps,\n ResetDateType,\n} from './PolicyConfigurationFormTypes'\nimport styles from './PolicyConfigurationForm.module.scss'\nimport {\n Flex,\n ActionsLayout,\n RadioGroupField,\n NumberInputField,\n CheckboxField,\n SelectField,\n TextInputField,\n} from '@/components/Common'\nimport { Form as HtmlForm } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { useI18n } from '@/i18n'\nimport { getDaysInMonth } from '@/helpers/dateFormatting'\n\nexport function PolicyConfigurationFormPresentation({\n onContinue,\n onCancel,\n defaultValues,\n editingPolicyName,\n isPending = false,\n lockedAccrualCategory,\n}: PolicyConfigurationFormPresentationProps) {\n useI18n('Company.TimeOff.CreateTimeOffPolicy')\n const { t } = useTranslation('Company.TimeOff.CreateTimeOffPolicy')\n const { Heading, Text, Button } = useComponentContext()\n const { locale } = useLocale()\n const headingId = useId()\n\n const monthOptions = useMemo(() => {\n const formatter = new Intl.DateTimeFormat(locale, { month: 'long' })\n return Array.from({ length: 12 }, (_, i) => ({\n value: i + 1,\n label: formatter.format(new Date(2024, i)),\n }))\n }, [locale])\n\n const formMethods = useForm<PolicyConfigurationFormData>({\n defaultValues: {\n name: '',\n resetMonth: 1,\n resetDay: 1,\n ...defaultValues,\n },\n })\n\n const { control, setValue, getValues } = formMethods\n const name = useWatch({ control, name: 'name' })\n const accrualMethod = useWatch({ control, name: 'accrualMethod' })\n const resetDateType = useWatch({ control, name: 'resetDateType' })\n const resetMonth = useWatch({ control, name: 'resetMonth' })\n const isContinueDisabled = !name.trim() || !accrualMethod\n\n const dayOptions = useMemo(() => {\n const days = getDaysInMonth(resetMonth ?? 1)\n return Array.from({ length: days }, (_, i) => ({\n value: i + 1,\n label: String(i + 1),\n }))\n }, [resetMonth])\n\n useEffect(() => {\n const maxDay = getDaysInMonth(resetMonth ?? 1)\n const currentDay = getValues('resetDay')\n if (currentDay != null && currentDay > maxDay) {\n setValue('resetDay', maxDay)\n }\n }, [resetMonth, getValues, setValue])\n\n useEffect(() => {\n if (accrualMethod === 'unlimited') {\n return\n }\n if (accrualMethod !== 'per_hour_paid') {\n setValue('accrualRateUnit', undefined)\n setValue('includeOvertime', undefined)\n setValue('allPaidHours', undefined)\n }\n if (accrualMethod !== 'per_calendar_year') {\n setValue('accrualMethodFixed', undefined)\n }\n }, [accrualMethod, setValue])\n\n const handleResetDateTypeChange = useCallback(\n (value: ResetDateType) => {\n if (value === 'per_anniversary_year') {\n setValue('resetMonth', 1)\n setValue('resetDay', 1)\n }\n },\n [setValue],\n )\n\n const accrualMethodOptions = useMemo(() => {\n const allOptions = [\n {\n value: 'per_hour_paid' as AccrualMethod,\n label: t('policyDetails.perHourPaidLabel'),\n description: t('policyDetails.perHourPaidHint'),\n },\n {\n value: 'per_calendar_year' as AccrualMethod,\n label: t('policyDetails.perYearLabel'),\n description: t('policyDetails.perYearHint'),\n },\n {\n value: 'unlimited' as AccrualMethod,\n label: t('policyDetails.unlimitedLabel'),\n description: t('policyDetails.unlimitedHint'),\n },\n ]\n if (lockedAccrualCategory === 'unlimited') {\n return allOptions.filter(option => option.value === 'unlimited')\n }\n if (lockedAccrualCategory === 'accrual_based') {\n return allOptions.filter(option => option.value !== 'unlimited')\n }\n return allOptions\n }, [t, lockedAccrualCategory])\n\n const accrualMethodFixedOptions = useMemo(\n () => [\n {\n value: 'per_pay_period' as AccrualMethodFixed,\n label: t('policyDetails.perPayPeriodLabel'),\n description: t('policyDetails.perPayPeriodHint'),\n },\n {\n value: 'all_at_once' as AccrualMethodFixed,\n label: t('policyDetails.allAtOnceLabel'),\n description: t('policyDetails.allAtOnceHint'),\n },\n ],\n [t],\n )\n\n const resetDateTypeOptions = useMemo(\n () => [\n {\n value: 'per_anniversary_year' as ResetDateType,\n label: t('policyDetails.perAnniversaryYearLabel'),\n },\n {\n value: 'per_calendar_year' as ResetDateType,\n label: t('policyDetails.perCalendarYearLabel'),\n },\n ],\n [t],\n )\n\n const handleSubmit = (data: PolicyConfigurationFormData) => {\n onContinue(data)\n }\n\n const isHourlyMethod = accrualMethod === 'per_hour_paid'\n const isFixedMethod = accrualMethod === 'per_calendar_year'\n const showResetDate = isHourlyMethod || isFixedMethod\n const showCustomDateFields = resetDateType === 'per_calendar_year'\n\n return (\n <FormProvider {...formMethods}>\n <HtmlForm aria-labelledby={headingId} onSubmit={formMethods.handleSubmit(handleSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n <Heading as=\"h2\" id={headingId}>\n {editingPolicyName\n ? t('policyDetails.editTitle', { name: editingPolicyName })\n : t('policyDetails.createTitle')}\n </Heading>\n\n <Flex flexDirection=\"column\" gap={20}>\n <TextInputField\n name=\"name\"\n label={t('policyDetails.policyNameLabel')}\n isRequired\n errorMessage={t('policyDetails.validations.policyName')}\n />\n\n {accrualMethodOptions.length === 1 ? (\n <Flex flexDirection=\"column\" gap={4}>\n <Text weight=\"medium\">{t('policyDetails.accrualMethodLabel')}</Text>\n <Text>{accrualMethodOptions[0]!.label}</Text>\n </Flex>\n ) : (\n <RadioGroupField<AccrualMethod>\n name=\"accrualMethod\"\n label={t('policyDetails.accrualMethodLabel')}\n description={t('policyDetails.accrualMethodHint')}\n options={accrualMethodOptions}\n isRequired\n errorMessage={t('policyDetails.validations.accrualMethod')}\n />\n )}\n\n {isHourlyMethod && (\n <>\n <hr className={styles.divider} />\n\n <NumberInputField\n className={styles.narrowInput}\n name=\"accrualRate\"\n label={t('policyDetails.employeesWillAccrueLabel')}\n adornmentEnd={t('policyDetails.hoursUnit')}\n isRequired\n errorMessage={t('policyDetails.validations.accrualRate')}\n min={0}\n />\n\n <NumberInputField\n className={styles.narrowInput}\n name=\"accrualRateUnit\"\n label={t('policyDetails.forEveryLabel')}\n adornmentEnd={t('policyDetails.hoursWorkedUnit')}\n isRequired\n errorMessage={t('policyDetails.validations.accrualRateUnit')}\n min={1}\n />\n\n <Flex flexDirection=\"column\" gap={8}>\n <Text>{t('policyDetails.additionalOptionsLabel')}</Text>\n <CheckboxField\n name=\"includeOvertime\"\n label={t('policyDetails.includeOvertimeLabel')}\n />\n <CheckboxField name=\"allPaidHours\" label={t('policyDetails.allPaidHoursLabel')} />\n </Flex>\n </>\n )}\n\n {isFixedMethod && (\n <>\n <hr className={styles.divider} />\n\n <NumberInputField\n className={styles.narrowInput}\n name=\"accrualRate\"\n label={t('policyDetails.fixedAccrualRateLabel')}\n description={t('policyDetails.fixedAccrualRateHint')}\n adornmentEnd={t('policyDetails.hoursUnit')}\n isRequired\n errorMessage={t('policyDetails.validations.accrualRate')}\n min={0}\n />\n\n <RadioGroupField<AccrualMethodFixed>\n name=\"accrualMethodFixed\"\n label={t('policyDetails.accrualMethodFixed')}\n description={t('policyDetails.accrualMethodFixedHint')}\n options={accrualMethodFixedOptions}\n isRequired\n errorMessage={t('policyDetails.validations.accrualMethodFixed')}\n />\n </>\n )}\n\n {showResetDate && (\n <>\n <hr className={styles.divider} />\n\n <RadioGroupField<ResetDateType>\n name=\"resetDateType\"\n label={t('policyDetails.policyResetDateType')}\n description={t('policyDetails.policyResetDateTypeHint')}\n options={resetDateTypeOptions}\n isRequired={!isHourlyMethod}\n errorMessage={t('policyDetails.validations.resetDateType')}\n onChange={handleResetDateTypeChange}\n />\n\n {showCustomDateFields && (\n <Flex gap={8}>\n <SelectField<number>\n className={styles.dateSelect}\n name=\"resetMonth\"\n label={t('policyDetails.monthLabel')}\n options={monthOptions}\n />\n <SelectField<number>\n className={styles.dateSelect}\n name=\"resetDay\"\n label={t('policyDetails.dayLabel')}\n options={dayOptions}\n />\n </Flex>\n )}\n </>\n )}\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onCancel} isDisabled={isPending}>\n {t('cancelCta')}\n </Button>\n <Button\n variant=\"primary\"\n type=\"submit\"\n isLoading={isPending}\n isDisabled={isContinueDisabled}\n >\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Flex>\n </HtmlForm>\n </FormProvider>\n )\n}\n"],"names":["PolicyConfigurationFormPresentation","onContinue","onCancel","defaultValues","editingPolicyName","isPending","lockedAccrualCategory","useI18n","t","useTranslation","Heading","Text","Button","useComponentContext","locale","useLocale","headingId","useId","monthOptions","useMemo","formatter","_","i","formMethods","useForm","control","setValue","getValues","name","useWatch","accrualMethod","resetDateType","resetMonth","isContinueDisabled","dayOptions","days","getDaysInMonth","useEffect","maxDay","currentDay","handleResetDateTypeChange","useCallback","value","accrualMethodOptions","allOptions","option","accrualMethodFixedOptions","resetDateTypeOptions","handleSubmit","data","isHourlyMethod","isFixedMethod","showResetDate","showCustomDateFields","FormProvider","jsx","HtmlForm","jsxs","Flex","TextInputField","RadioGroupField","Fragment","styles","NumberInputField","CheckboxField","SelectField","ActionsLayout"],"mappings":"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"}
|
|
@@ -13,10 +13,12 @@ export interface PolicyConfigurationFormData {
|
|
|
13
13
|
resetMonth?: number;
|
|
14
14
|
resetDay?: number;
|
|
15
15
|
}
|
|
16
|
+
export type LockedAccrualCategory = 'unlimited' | 'accrual_based';
|
|
16
17
|
export interface PolicyConfigurationFormPresentationProps {
|
|
17
18
|
onContinue: (data: PolicyConfigurationFormData) => void;
|
|
18
19
|
onCancel: () => void;
|
|
19
20
|
defaultValues?: Partial<PolicyConfigurationFormData>;
|
|
20
21
|
editingPolicyName?: string;
|
|
21
22
|
isPending?: boolean;
|
|
23
|
+
lockedAccrualCategory?: LockedAccrualCategory;
|
|
22
24
|
}
|
|
@@ -1,145 +1,111 @@
|
|
|
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 R(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: O
|
|
50
|
+
} = I(e, n), { mutateAsync: m, isPending: g } = 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:
|
|
122
|
-
showReassignmentWarning: !1,
|
|
92
|
+
employees: P,
|
|
93
|
+
selectedUuids: d,
|
|
94
|
+
searchValue: f,
|
|
95
|
+
onSelect: A,
|
|
96
|
+
onSelectAll: _,
|
|
97
|
+
onSearchChange: D,
|
|
98
|
+
onSearchClear: O,
|
|
99
|
+
onBack: H,
|
|
100
|
+
onContinue: C,
|
|
123
101
|
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
|
|
102
|
+
pagination: h,
|
|
103
|
+
isFetching: S,
|
|
104
|
+
isPending: g
|
|
139
105
|
}
|
|
140
106
|
);
|
|
141
107
|
}
|
|
142
108
|
export {
|
|
143
|
-
|
|
109
|
+
R as SelectEmployeesHoliday
|
|
144
110
|
};
|
|
145
111
|
//# 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 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,
|
|
2
|
+
export declare function SelectEmployeesPresentation({ employees, selectedUuids, searchValue, onSelect, onSelectAll, onSearchChange, onSearchClear, onBack, onContinue, isHolidayPolicy, balances, onBalanceChange, pagination, isFetching, isPending, }: SelectEmployeesPresentationProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js
CHANGED
|
@@ -1,122 +1,91 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import { useId as
|
|
1
|
+
import { jsxs as a, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as $ } from "react-i18next";
|
|
3
|
+
import { useId as j } from "react";
|
|
4
4
|
import { EmployeeTable as v } from "../../shared/EmployeeTable/EmployeeTable.js";
|
|
5
|
-
import
|
|
6
|
-
import { Flex as
|
|
5
|
+
import A from "./SelectEmployeesPresentation.module.scss.js";
|
|
6
|
+
import { Flex as l } 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 L } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
10
|
+
import { useComponentContext as B } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
11
|
+
import { useI18n as H } from "../../../../i18n/I18n.js";
|
|
12
|
+
const N = (i) => /^\d*\.?\d*$/.test(i);
|
|
13
|
+
function R({
|
|
14
|
+
employees: i,
|
|
15
15
|
selectedUuids: f,
|
|
16
|
-
searchValue:
|
|
16
|
+
searchValue: o,
|
|
17
17
|
onSelect: h,
|
|
18
|
-
onSelectAll:
|
|
19
|
-
onSearchChange:
|
|
20
|
-
onSearchClear:
|
|
21
|
-
onBack:
|
|
22
|
-
onContinue:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
isFetching: E,
|
|
30
|
-
originallyOnPolicyUuids: S,
|
|
31
|
-
originalBalances: $,
|
|
32
|
-
removeConfirmDialog: i,
|
|
33
|
-
addConfirmDialog: o,
|
|
34
|
-
isPending: s = !1
|
|
18
|
+
onSelectAll: g,
|
|
19
|
+
onSearchChange: C,
|
|
20
|
+
onSearchClear: y,
|
|
21
|
+
onBack: b,
|
|
22
|
+
onContinue: x,
|
|
23
|
+
isHolidayPolicy: m = !1,
|
|
24
|
+
balances: I,
|
|
25
|
+
onBalanceChange: s,
|
|
26
|
+
pagination: S,
|
|
27
|
+
isFetching: T,
|
|
28
|
+
isPending: c = !1
|
|
35
29
|
}) {
|
|
36
|
-
|
|
37
|
-
const { t } =
|
|
38
|
-
return /* @__PURE__ */ l
|
|
39
|
-
/* @__PURE__ */ l
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
-
/* @__PURE__ */
|
|
30
|
+
H("Company.TimeOff.SelectEmployees");
|
|
31
|
+
const { t: e } = $("Company.TimeOff.SelectEmployees"), d = B(), { Heading: k, Text: u, Button: p, Alert: D } = d, E = j();
|
|
32
|
+
return /* @__PURE__ */ a(l, { flexDirection: "column", alignItems: "stretch", gap: 32, children: [
|
|
33
|
+
/* @__PURE__ */ a(l, { flexDirection: "column", gap: 4, children: [
|
|
34
|
+
/* @__PURE__ */ t(k, { as: "h2", children: e("title") }),
|
|
35
|
+
/* @__PURE__ */ t(u, { variant: "supporting", children: e(m ? "holidayDescription" : "description") })
|
|
42
36
|
] }),
|
|
43
|
-
|
|
44
|
-
/* @__PURE__ */
|
|
37
|
+
!m && /* @__PURE__ */ t(D, { status: "warning", label: e("reassignmentWarning") }),
|
|
38
|
+
/* @__PURE__ */ t(
|
|
45
39
|
v,
|
|
46
40
|
{
|
|
47
|
-
data:
|
|
48
|
-
searchValue:
|
|
49
|
-
onSearchChange:
|
|
50
|
-
onSearchClear:
|
|
41
|
+
data: i,
|
|
42
|
+
searchValue: o,
|
|
43
|
+
onSearchChange: C,
|
|
44
|
+
onSearchClear: y,
|
|
45
|
+
hideSearch: i.length === 0 && o.length === 0,
|
|
51
46
|
selectionMode: "multiple",
|
|
52
47
|
onSelect: h,
|
|
53
|
-
onSelectAll:
|
|
54
|
-
getIsItemSelected: (
|
|
55
|
-
isFetching:
|
|
56
|
-
pagination:
|
|
48
|
+
onSelectAll: g,
|
|
49
|
+
getIsItemSelected: (n) => f.has(n.uuid),
|
|
50
|
+
isFetching: T,
|
|
51
|
+
pagination: S,
|
|
52
|
+
emptyState: () => /* @__PURE__ */ t(l, { flexDirection: "column", alignItems: "center", gap: 8, children: /* @__PURE__ */ t(u, { size: "sm", textAlign: "center", children: e("emptyState") }) }),
|
|
57
53
|
additionalColumns: [
|
|
58
54
|
{
|
|
59
55
|
key: "department",
|
|
60
|
-
title:
|
|
56
|
+
title: e("departmentColumn")
|
|
61
57
|
},
|
|
62
|
-
...
|
|
58
|
+
...s ? [
|
|
63
59
|
{
|
|
64
60
|
key: "balance",
|
|
65
|
-
title:
|
|
66
|
-
|
|
67
|
-
|
|
61
|
+
title: e("startingBalanceColumn"),
|
|
62
|
+
justify: "end",
|
|
63
|
+
render: (n) => /* @__PURE__ */ t("div", { className: A.balanceInput, children: /* @__PURE__ */ t(
|
|
64
|
+
d.TextInput,
|
|
68
65
|
{
|
|
69
|
-
name: `balance-${
|
|
70
|
-
label:
|
|
66
|
+
name: `balance-${n.uuid}`,
|
|
67
|
+
label: e("startingBalanceColumn"),
|
|
71
68
|
shouldVisuallyHideLabel: !0,
|
|
72
|
-
"aria-labelledby": `employee-name-${
|
|
73
|
-
value:
|
|
74
|
-
onChange: (
|
|
75
|
-
|
|
69
|
+
"aria-labelledby": `employee-name-${n.uuid} ${E}`,
|
|
70
|
+
value: I?.[n.uuid] ?? "",
|
|
71
|
+
onChange: (r) => {
|
|
72
|
+
r !== "" && !N(r) || s(n.uuid, r);
|
|
76
73
|
},
|
|
77
|
-
placeholder: "0"
|
|
78
|
-
className: w.balanceInput
|
|
74
|
+
placeholder: "0"
|
|
79
75
|
}
|
|
80
|
-
)
|
|
76
|
+
) })
|
|
81
77
|
}
|
|
82
78
|
] : []
|
|
83
79
|
]
|
|
84
80
|
}
|
|
85
81
|
),
|
|
86
|
-
/* @__PURE__ */
|
|
87
|
-
/* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
] })
|
|
90
|
-
i && /* @__PURE__ */ n(
|
|
91
|
-
p,
|
|
92
|
-
{
|
|
93
|
-
isOpen: i.isOpen,
|
|
94
|
-
onClose: i.onClose,
|
|
95
|
-
onPrimaryActionClick: i.onConfirm,
|
|
96
|
-
isPrimaryActionLoading: i.isPending,
|
|
97
|
-
isDestructive: !0,
|
|
98
|
-
title: t("removeConfirmDialog.title", { count: i.count }),
|
|
99
|
-
primaryActionLabel: t("removeConfirmDialog.confirmCta"),
|
|
100
|
-
closeActionLabel: t("removeConfirmDialog.cancelCta"),
|
|
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 })
|
|
115
|
-
}
|
|
116
|
-
)
|
|
82
|
+
/* @__PURE__ */ a(L, { children: [
|
|
83
|
+
/* @__PURE__ */ t(p, { variant: "secondary", onClick: b, isDisabled: c, children: e("backCta") }),
|
|
84
|
+
/* @__PURE__ */ t(p, { variant: "primary", onClick: x, isLoading: c, children: e("continueCta") })
|
|
85
|
+
] })
|
|
117
86
|
] });
|
|
118
87
|
}
|
|
119
88
|
export {
|
|
120
|
-
|
|
89
|
+
R as SelectEmployeesPresentation
|
|
121
90
|
};
|
|
122
91
|
//# sourceMappingURL=SelectEmployeesPresentation.js.map
|