@gusto/embedded-react-sdk 0.51.0 → 0.52.0
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 +46 -0
- package/dist/components/Base/useBaseSubmit.js +4 -4
- package/dist/components/Base/useBaseSubmit.js.map +1 -1
- package/dist/components/Common/DocumentList/DocumentList.d.ts +8 -1
- package/dist/components/Common/DocumentList/DocumentList.js +24 -21
- package/dist/components/Common/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes.d.ts +1 -1
- package/dist/components/Common/OnboardingStatusBadge/index.d.ts +2 -2
- package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
- package/dist/components/Common/TaxInputs/TaxInputs.d.ts +2 -2
- package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
- package/dist/components/Common/UI/FormBox/FormBox.d.ts +9 -0
- package/dist/components/Common/UI/FormBox/FormBox.js +13 -0
- package/dist/components/Common/UI/FormBox/FormBox.js.map +1 -0
- package/dist/components/Common/UI/FormBox/FormBox.module.scss.js +14 -0
- package/dist/components/Common/UI/FormBox/FormBox.module.scss.js.map +1 -0
- package/dist/components/Common/UI/FormBox/FormBoxTypes.d.ts +26 -0
- package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.d.ts +9 -0
- package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js +23 -0
- package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js.map +1 -0
- package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js +8 -0
- package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js.map +1 -0
- package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.d.ts +36 -0
- package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js +7 -0
- package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js.map +1 -0
- package/dist/components/Common/UI/FormBoxHeader/index.d.ts +1 -0
- package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -0
- package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +5 -5
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.d.ts +1 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.d.ts +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +9 -8
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +3 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.d.ts +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.d.ts +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +9 -8
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +11 -10
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.js +1 -1
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountComponents.d.ts +1 -1
- package/dist/components/Company/BankAccount/BankAccountComponents.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Form.d.ts +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +9 -8
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/context.d.ts +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.d.ts +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +9 -8
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.js +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Company/DocumentSigner/documentSignerStateMachine.d.ts +2 -2
- package/dist/components/Company/DocumentSigner/documentSignerStateMachine.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js +3 -3
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +2 -2
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +1 -1
- package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +2 -2
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +12 -11
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +12 -11
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.js +2 -2
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +7 -7
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Form.d.ts +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +46 -45
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +9 -8
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.d.ts +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +9 -8
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.d.ts +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +9 -8
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleList.js +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleList.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +3 -3
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +3 -3
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +6 -6
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxes.d.ts +10 -1
- package/dist/components/Company/StateTaxes/StateTaxes.js +23 -17
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +2 -0
- package/dist/components/Company/StateTaxes/StateTaxesComponents.js +17 -10
- package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +3 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +2 -2
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +9 -8
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js +27 -27
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +9 -0
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +24 -24
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +9 -8
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/Address.d.ts +4 -3
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +2 -2
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +3 -3
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +3 -3
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -1
- package/dist/components/Contractor/ContractorList/index.js +95 -92
- package/dist/components/Contractor/ContractorList/index.js.map +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.d.ts +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.js +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentSigner/documentSignerStateMachine.d.ts +1 -1
- package/dist/components/Contractor/Documents/DocumentSigner/documentSignerStateMachine.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.d.ts +3 -1
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +64 -51
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.d.ts +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +202 -159
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/contractorSignatureFormSchema.d.ts +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.d.ts +3 -3
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js +3 -3
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.d.ts +2 -2
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js +55 -54
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js.map +1 -1
- package/dist/components/Contractor/Landing/Landing.js +2 -2
- package/dist/components/Contractor/Landing/Landing.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +2 -2
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.d.ts +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js +2 -2
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.d.ts +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.d.ts +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +3 -3
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js +2 -2
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +5 -5
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +2 -2
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.d.ts +2 -2
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.d.ts +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +4 -4
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/helpers.d.ts +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +2 -2
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +3 -3
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +2 -2
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +4 -4
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +3 -3
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +17 -5
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +32 -31
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.d.ts +3 -3
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +16 -4
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +34 -30
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +1 -1
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +6 -6
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +2 -2
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +3 -3
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +3 -3
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js +1 -1
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +2 -6
- package/dist/components/Employee/Compensation/onboarding/Compensation.js +38 -42
- package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.d.ts +2 -2
- package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js +2 -2
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.d.ts +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.d.ts +1 -1
- package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/getPendingCompensationChanges.d.ts +2 -2
- package/dist/components/Employee/Compensation/shared/getPendingCompensationChanges.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +2 -2
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +3 -3
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.d.ts +4 -4
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +7 -7
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.d.ts +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js +4 -4
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +3 -3
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +7 -7
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Dashboard/index.d.ts +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.d.ts +1 -1
- package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.d.ts +1 -1
- package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/formatDeductionAmount.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/formatDeductionAmount.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +2 -2
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.d.ts +3 -3
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js +5 -5
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +2 -2
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js +3 -3
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionsList.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionsList.js +2 -2
- package/dist/components/Employee/Deductions/shared/useDeductionsList.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeleteDeduction.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useDeleteDeduction.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js +2 -2
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.d.ts +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +9 -8
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +2 -2
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +3 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.d.ts +2 -2
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.d.ts +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +3 -6
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.d.ts +1 -1
- package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.js +1 -1
- package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +2 -2
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js +27 -32
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js +3 -3
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +3 -3
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +4 -5
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +2 -2
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts +2 -2
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js +2 -2
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.d.ts +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.d.ts +1 -1
- package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.d.ts +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +3 -3
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.d.ts +1 -1
- package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.js +1 -1
- package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +2 -2
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.d.ts +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js +1 -3
- package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +55 -49
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js +2 -2
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.js +4 -4
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js +3 -3
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +1 -1
- package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.d.ts +1 -1
- package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.js +3 -3
- package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +2 -2
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +5 -5
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.d.ts +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +2 -2
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +4 -4
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.d.ts +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +2 -2
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +5 -5
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/__fixtures__/stateTaxesFixtures.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/__fixtures__/toWireFormat.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js +2 -2
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.js +1 -1
- package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +9 -9
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +4 -4
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.d.ts +2 -2
- package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.d.ts +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +3 -3
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.d.ts +1 -1
- package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js +1 -1
- package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
- package/dist/components/Employee/exports/employeeManagement.d.ts +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +4 -5
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +101 -125
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +2 -2
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestsComponents.d.ts +0 -5
- package/dist/components/InformationRequests/InformationRequestsComponents.js +12 -13
- package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +2 -2
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +3 -3
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +2 -2
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +5 -5
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +4 -4
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +8 -7
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +9 -9
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
- package/dist/components/Payroll/OffCycle/index.d.ts +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +4 -4
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +2 -2
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +4 -4
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js +2 -2
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +100 -95
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +5 -6
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +5 -5
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +6 -6
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +57 -56
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +4 -4
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +2 -2
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +24 -7
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +37 -33
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +2 -2
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +7 -7
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +2 -2
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +4 -4
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +2 -2
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +2 -2
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +8 -8
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +3 -3
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +7 -7
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +4 -4
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +31 -31
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.d.ts +2 -2
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.d.ts +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.d.ts +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js +2 -2
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +9 -5
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +2 -2
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +1 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js +2 -2
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Transition/index.d.ts +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +4 -4
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +3 -3
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
- package/dist/components/Payroll/helpers.d.ts +26 -12
- package/dist/components/Payroll/helpers.js +1 -1
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/index.d.ts +3 -2
- package/dist/components/Payroll/payrollTypes.d.ts +1 -1
- package/dist/components/Payroll/payrollTypes.js +1 -1
- package/dist/components/Payroll/payrollTypes.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.d.ts +2 -2
- package/dist/components/Payroll/usePreparedPayrollData.js +16 -15
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.d.ts +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +3 -3
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +3 -3
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +3 -3
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js +6 -6
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js +30 -29
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +2 -2
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +27 -26
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +2 -2
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +69 -68
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +20 -20
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +67 -66
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.d.ts +5 -5
- package/dist/contexts/ApiProvider/ApiProvider.js +3 -3
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/apiVersion.d.ts +23 -0
- package/dist/contexts/ApiProvider/apiVersion.js +6 -0
- package/dist/contexts/ApiProvider/apiVersion.js.map +1 -0
- package/dist/contexts/ApiProvider/apiVersionHook.js +3 -2
- package/dist/contexts/ApiProvider/apiVersionHook.js.map +1 -1
- package/dist/contexts/ApiProvider/createSdkQueryClient.d.ts +1 -1
- package/dist/contexts/ApiProvider/createSdkQueryClient.js +7 -6
- package/dist/contexts/ApiProvider/createSdkQueryClient.js.map +1 -1
- package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +40 -36
- package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
- package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +2 -0
- package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +5 -0
- package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js +18 -16
- package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
- package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +6 -0
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProvider.d.ts +4 -5
- package/dist/contexts/GustoProvider/GustoProvider.js +6 -6
- package/dist/contexts/GustoProvider/GustoProvider.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +7 -7
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +8 -8
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/GustoProvider/index.d.ts +1 -1
- package/dist/contexts/index.d.ts +2 -6
- package/dist/helpers/apiErrorToList.d.ts +1 -1
- package/dist/helpers/apiErrorToList.js.map +1 -1
- package/dist/helpers/formattedStrings.d.ts +2 -2
- package/dist/helpers/formattedStrings.js.map +1 -1
- package/dist/hooks/useCompanyPaymentSpeed.d.ts +1 -1
- package/dist/hooks/useCompanyPaymentSpeed.js +1 -1
- package/dist/hooks/useCompanyPaymentSpeed.js.map +1 -1
- package/dist/i18n/en/Contractor.ContractorList.json.js +18 -16
- package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
- package/dist/i18n/en/Contractor.DocumentsList.json.js +20 -16
- package/dist/i18n/en/Contractor.DocumentsList.json.js.map +1 -1
- package/dist/i18n/en/Contractor.SignatureForm.json.js +5 -5
- package/dist/i18n/en/Employee.OnboardingSummary.json.js +24 -20
- package/dist/i18n/en/Employee.OnboardingSummary.json.js.map +1 -1
- package/dist/i18n/types.d.ts +12 -0
- package/dist/index.d.ts +8 -7
- package/dist/index.js +121 -134
- package/dist/index.js.map +1 -1
- package/dist/models/WA_RISK_CODES.d.ts +5 -2
- package/dist/models/WA_RISK_CODES.js.map +1 -1
- package/dist/models/external.d.ts +236 -226
- package/dist/partner-hook-utils/composeErrorHandler.d.ts +9 -4
- package/dist/partner-hook-utils/composeErrorHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/SDKFormProvider.d.ts +10 -2
- package/dist/partner-hook-utils/form/SDKFormProvider.js +7 -1
- package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
- package/dist/partner-hook-utils/form/composeSubmitHandler.d.ts +7 -4
- package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/index.d.ts +1 -0
- package/dist/partner-hook-utils/form/index.d.ts +3 -3
- package/dist/partner-hook-utils/form/useHookFieldResolution.js.map +1 -1
- package/dist/partner-hook-utils/index.d.ts +1 -1
- package/dist/partner-hook-utils/types.d.ts +7 -3
- package/dist/shared/constants.d.ts +2 -2
- package/dist/shared/constants.js +5 -5
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/Helpers.d.ts +11 -0
- package/dist/types/hooks.d.ts +2 -2
- package/dist/types/sdkError.js +3 -3
- package/dist/types/sdkError.js.map +1 -1
- package/docs/guides/endpoint-inventory.json +1201 -297
- package/package.json +12 -12
package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { jsx as u } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback as m } from "react";
|
|
3
|
-
import { useTimeOffPoliciesCreateMutation as
|
|
4
|
-
import { useTimeOffPoliciesUpdateMutation as w } from "@gusto/embedded-api
|
|
5
|
-
import { useTimeOffPoliciesGetSuspense as
|
|
6
|
-
import { useQueryClient as
|
|
3
|
+
import { useTimeOffPoliciesCreateMutation as E } from "@gusto/embedded-api/react-query/timeOffPoliciesCreate";
|
|
4
|
+
import { useTimeOffPoliciesUpdateMutation as w } from "@gusto/embedded-api/react-query/timeOffPoliciesUpdate";
|
|
5
|
+
import { useTimeOffPoliciesGetSuspense as g } from "@gusto/embedded-api/react-query/timeOffPoliciesGet";
|
|
6
|
+
import { useQueryClient as b } from "@tanstack/react-query";
|
|
7
7
|
import { PolicyConfigurationFormPresentation as R } from "./PolicyConfigurationFormPresentation.js";
|
|
8
|
-
import {
|
|
8
|
+
import { API_QUERY_NAMESPACE as A } from "../../../../contexts/ApiProvider/apiVersion.js";
|
|
9
|
+
import { BaseComponent as S } from "../../../Base/Base.js";
|
|
9
10
|
import { useBase as v } from "../../../Base/useBase.js";
|
|
10
11
|
import { componentEvents as p } from "../../../../shared/constants.js";
|
|
11
12
|
import { formatMonthDay as M } from "../../../../helpers/dateFormatting.js";
|
|
12
|
-
function
|
|
13
|
-
return /* @__PURE__ */ u(
|
|
13
|
+
function X(e) {
|
|
14
|
+
return /* @__PURE__ */ u(S, { ...e, children: /* @__PURE__ */ u(q, { ...e }) });
|
|
14
15
|
}
|
|
15
|
-
function
|
|
16
|
+
function C(e) {
|
|
16
17
|
switch (e.accrualMethod) {
|
|
17
18
|
case "unlimited":
|
|
18
19
|
return "unlimited";
|
|
@@ -24,7 +25,7 @@ function D(e) {
|
|
|
24
25
|
return e.accrualMethodFixed === "per_pay_period" ? "per_pay_period" : e.resetDateType === "per_anniversary_year" ? "per_anniversary_year" : "per_calendar_year";
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
|
-
const
|
|
28
|
+
const T = [
|
|
28
29
|
"per_hour_paid",
|
|
29
30
|
"per_hour_paid_no_overtime",
|
|
30
31
|
"per_hour_worked",
|
|
@@ -32,14 +33,14 @@ const S = [
|
|
|
32
33
|
];
|
|
33
34
|
function k(e) {
|
|
34
35
|
const r = { name: e.name }, t = e.accrualMethod;
|
|
35
|
-
if (t === "unlimited" ? r.accrualMethod = "unlimited" :
|
|
36
|
+
if (t === "unlimited" ? r.accrualMethod = "unlimited" : T.includes(t) ? (r.accrualMethod = "per_hour_paid", r.allPaidHours = t === "per_hour_paid" || t === "per_hour_paid_no_overtime", r.includeOvertime = t === "per_hour_paid" || t === "per_hour_worked", e.accrualRate != null && (r.accrualRate = Number(e.accrualRate)), e.accrualRateUnit != null && (r.accrualRateUnit = Number(e.accrualRateUnit)), e.policyResetDate && (r.resetDateType = "per_calendar_year")) : (r.accrualMethod = "per_calendar_year", t === "per_pay_period" ? (r.accrualMethodFixed = "per_pay_period", r.resetDateType = e.policyResetDate ? "per_calendar_year" : "per_anniversary_year") : (r.accrualMethodFixed = "all_at_once", r.resetDateType = t === "per_anniversary_year" ? "per_anniversary_year" : "per_calendar_year"), e.accrualRate != null && (r.accrualRate = Number(e.accrualRate))), e.policyResetDate) {
|
|
36
37
|
const [a, n] = e.policyResetDate.split("-").map(Number);
|
|
37
38
|
a && (r.resetMonth = a), n && (r.resetDay = n);
|
|
38
39
|
}
|
|
39
40
|
return r;
|
|
40
41
|
}
|
|
41
|
-
function
|
|
42
|
-
const t =
|
|
42
|
+
function F(e, r) {
|
|
43
|
+
const t = C(e), a = { name: e.name, policyType: r, accrualMethod: t };
|
|
43
44
|
if (t === "unlimited")
|
|
44
45
|
return { ...a, complete: !0 };
|
|
45
46
|
const n = t === "per_hour_paid" || t === "per_hour_paid_no_overtime" || t === "per_hour_worked" || t === "per_hour_worked_no_overtime", o = e.resetDateType === "per_calendar_year" ? M(e.resetMonth, e.resetDay) : null;
|
|
@@ -57,8 +58,8 @@ function A(e, r) {
|
|
|
57
58
|
complete: !1
|
|
58
59
|
};
|
|
59
60
|
}
|
|
60
|
-
function
|
|
61
|
-
const a =
|
|
61
|
+
function N(e, r, t) {
|
|
62
|
+
const a = C(e), n = {
|
|
62
63
|
name: e.name,
|
|
63
64
|
policyType: r,
|
|
64
65
|
accrualMethod: a,
|
|
@@ -86,20 +87,20 @@ function F(e, r, t) {
|
|
|
86
87
|
}
|
|
87
88
|
function q({ companyId: e, policyType: r, defaultValues: t, policyId: a }) {
|
|
88
89
|
return a ? /* @__PURE__ */ u(
|
|
89
|
-
|
|
90
|
+
L,
|
|
90
91
|
{
|
|
91
92
|
companyId: e,
|
|
92
93
|
policyType: r,
|
|
93
94
|
policyId: a,
|
|
94
95
|
defaultValues: t
|
|
95
96
|
}
|
|
96
|
-
) : /* @__PURE__ */ u(
|
|
97
|
+
) : /* @__PURE__ */ u(H, { companyId: e, policyType: r, defaultValues: t });
|
|
97
98
|
}
|
|
98
|
-
function
|
|
99
|
-
const { onEvent: a, baseSubmitHandler: n } = v(), { mutateAsync: o, isPending: c } =
|
|
99
|
+
function H({ companyId: e, policyType: r, defaultValues: t }) {
|
|
100
|
+
const { onEvent: a, baseSubmitHandler: n } = v(), { mutateAsync: o, isPending: c } = E(), d = m(
|
|
100
101
|
async (s) => {
|
|
101
102
|
await n(s, async () => {
|
|
102
|
-
const i =
|
|
103
|
+
const i = F(s, r), _ = await o({
|
|
103
104
|
request: {
|
|
104
105
|
companyUuid: e,
|
|
105
106
|
timeOffPolicyRequest: i
|
|
@@ -125,22 +126,22 @@ function N({ companyId: e, policyType: r, defaultValues: t }) {
|
|
|
125
126
|
}
|
|
126
127
|
);
|
|
127
128
|
}
|
|
128
|
-
function
|
|
129
|
-
const { onEvent: n, baseSubmitHandler: o } = v(), c =
|
|
129
|
+
function L({ companyId: e, policyType: r, policyId: t, defaultValues: a }) {
|
|
130
|
+
const { onEvent: n, baseSubmitHandler: o } = v(), c = b(), { data: d } = g({
|
|
130
131
|
timeOffPolicyUuid: t
|
|
131
132
|
}), { mutateAsync: l, isPending: s } = w(), i = d.timeOffPolicy;
|
|
132
133
|
if (!i) throw new Error("Unexpected response: missing timeOffPolicy");
|
|
133
|
-
const _ = i.version ?? "", f = k(i),
|
|
134
|
+
const _ = i.version ?? "", f = k(i), D = { ...f, ...a }, P = i.complete ? f.accrualMethod === "unlimited" ? "unlimited" : "accrual_based" : void 0, O = m(
|
|
134
135
|
async (h) => {
|
|
135
136
|
await o(h, async () => {
|
|
136
|
-
const y =
|
|
137
|
+
const y = N(h, r, _);
|
|
137
138
|
await l({
|
|
138
139
|
request: {
|
|
139
140
|
timeOffPolicyUuid: t,
|
|
140
141
|
requestBody: y
|
|
141
142
|
}
|
|
142
143
|
}), c.invalidateQueries({
|
|
143
|
-
queryKey: [
|
|
144
|
+
queryKey: [A, "timeOffPolicies", "get"]
|
|
144
145
|
}), n(p.TIME_OFF_POLICY_DETAILS_DONE, {
|
|
145
146
|
policyId: t,
|
|
146
147
|
accrualMethod: y.accrualMethod
|
|
@@ -156,7 +157,7 @@ function H({ companyId: e, policyType: r, policyId: t, defaultValues: a }) {
|
|
|
156
157
|
{
|
|
157
158
|
onContinue: O,
|
|
158
159
|
onCancel: U,
|
|
159
|
-
defaultValues:
|
|
160
|
+
defaultValues: D,
|
|
160
161
|
editingPolicyName: i.name,
|
|
161
162
|
isPending: s,
|
|
162
163
|
lockedAccrualCategory: P
|
|
@@ -164,6 +165,6 @@ function H({ companyId: e, policyType: r, policyId: t, defaultValues: a }) {
|
|
|
164
165
|
);
|
|
165
166
|
}
|
|
166
167
|
export {
|
|
167
|
-
|
|
168
|
+
X as PolicyConfigurationForm
|
|
168
169
|
};
|
|
169
170
|
//# sourceMappingURL=PolicyConfigurationForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicyConfigurationForm.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { useTimeOffPoliciesCreateMutation } from '@gusto/embedded-api-v-2026-02-01/react-query/timeOffPoliciesCreate'\nimport { useTimeOffPoliciesUpdateMutation } from '@gusto/embedded-api-v-2026-02-01/react-query/timeOffPoliciesUpdate'\nimport { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api-v-2026-02-01/react-query/timeOffPoliciesGet'\nimport type { TimeOffPolicyRequest } from '@gusto/embedded-api-v-2026-02-01/models/components/timeoffpolicyrequest'\nimport type { TimeOffPolicy } from '@gusto/embedded-api-v-2026-02-01/models/components/timeoffpolicy'\nimport type { PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody } from '@gusto/embedded-api-v-2026-02-01/models/operations/putv1timeoffpoliciestimeoffpolicyuuid'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { PolicyConfigurationFormPresentation } from './PolicyConfigurationFormPresentation'\nimport type { PolicyConfigurationFormData } from './PolicyConfigurationFormTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { formatMonthDay } from '@/helpers/dateFormatting'\n\n/**\n * Props for {@link PolicyConfigurationForm}.\n *\n * @public\n */\nexport interface PolicyConfigurationFormProps extends BaseComponentInterface<'Company.TimeOff.CreateTimeOffPolicy'> {\n /** Company that owns the policy being created or edited. */\n companyId: string\n /** Type of policy being configured. */\n policyType: 'sick' | 'vacation'\n /** When set, the form loads the existing policy and submits an update. */\n policyId?: string\n /** Pre-populated values to merge into the form's defaults. */\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\n/**\n * Form for creating or editing the details of a sick or vacation time off policy — its name and accrual configuration.\n *\n * @remarks\n * Omit `policyId` to create a new policy; pass `policyId` to edit an existing\n * one. In edit mode, the form fetches the policy via Suspense and merges the\n * derived defaults with any `defaultValues` you supply (your overrides win).\n * When editing a policy whose configuration is already complete, the accrual\n * method selector is restricted to the matching category (unlimited vs.\n * accrual-based).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policyDetails/done` | Fired after the policy is successfully created or updated | `{ policyId: string, accrualMethod: string }` |\n * | `CANCEL` | Fired when the user clicks the cancel button | — |\n *\n * @param props - See {@link PolicyConfigurationFormProps}.\n * @returns The rendered policy configuration form.\n * @public\n */\nexport function PolicyConfigurationForm(props: PolicyConfigurationFormProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction resolveApiAccrualMethod(\n data: PolicyConfigurationFormData,\n): TimeOffPolicyRequest['accrualMethod'] {\n switch (data.accrualMethod) {\n case 'unlimited':\n return 'unlimited'\n\n case 'per_hour_paid': {\n const paid = data.allPaidHours ?? false\n const overtime = data.includeOvertime ?? false\n\n if (paid && overtime) return 'per_hour_paid'\n if (paid && !overtime) return 'per_hour_paid_no_overtime'\n if (!paid && overtime) return 'per_hour_worked'\n return 'per_hour_worked_no_overtime'\n }\n\n case 'per_calendar_year': {\n if (data.accrualMethodFixed === 'per_pay_period') return 'per_pay_period'\n\n return data.resetDateType === 'per_anniversary_year'\n ? 'per_anniversary_year'\n : 'per_calendar_year'\n }\n }\n}\n\nconst HOURLY_API_METHODS = [\n 'per_hour_paid',\n 'per_hour_paid_no_overtime',\n 'per_hour_worked',\n 'per_hour_worked_no_overtime',\n]\n\nfunction deriveFormDefaults(policy: TimeOffPolicy): Partial<PolicyConfigurationFormData> {\n const defaults: Partial<PolicyConfigurationFormData> = { name: policy.name }\n const apiMethod = policy.accrualMethod\n\n if (apiMethod === 'unlimited') {\n defaults.accrualMethod = 'unlimited'\n } else if (HOURLY_API_METHODS.includes(apiMethod)) {\n defaults.accrualMethod = 'per_hour_paid'\n defaults.allPaidHours =\n apiMethod === 'per_hour_paid' || apiMethod === 'per_hour_paid_no_overtime'\n defaults.includeOvertime = apiMethod === 'per_hour_paid' || apiMethod === 'per_hour_worked'\n\n if (policy.accrualRate != null) defaults.accrualRate = Number(policy.accrualRate)\n if (policy.accrualRateUnit != null) defaults.accrualRateUnit = Number(policy.accrualRateUnit)\n\n if (policy.policyResetDate) {\n defaults.resetDateType = 'per_calendar_year'\n }\n } else {\n defaults.accrualMethod = 'per_calendar_year'\n\n if (apiMethod === 'per_pay_period') {\n defaults.accrualMethodFixed = 'per_pay_period'\n defaults.resetDateType = policy.policyResetDate ? 'per_calendar_year' : 'per_anniversary_year'\n } else {\n defaults.accrualMethodFixed = 'all_at_once'\n defaults.resetDateType =\n apiMethod === 'per_anniversary_year' ? 'per_anniversary_year' : 'per_calendar_year'\n }\n\n if (policy.accrualRate != null) defaults.accrualRate = Number(policy.accrualRate)\n }\n\n if (policy.policyResetDate) {\n const [month, day] = policy.policyResetDate.split('-').map(Number)\n if (month) defaults.resetMonth = month\n if (day) defaults.resetDay = day\n }\n\n return defaults\n}\n\nfunction buildCreateRequestBody(\n data: PolicyConfigurationFormData,\n policyType: 'sick' | 'vacation',\n): TimeOffPolicyRequest {\n const accrualMethod = resolveApiAccrualMethod(data)\n\n const base: TimeOffPolicyRequest = { name: data.name, policyType, accrualMethod }\n\n if (accrualMethod === 'unlimited') {\n return { ...base, complete: true }\n }\n\n const isHourly =\n accrualMethod === 'per_hour_paid' ||\n accrualMethod === 'per_hour_paid_no_overtime' ||\n accrualMethod === 'per_hour_worked' ||\n accrualMethod === 'per_hour_worked_no_overtime'\n\n const policyResetDate =\n data.resetDateType === 'per_calendar_year'\n ? formatMonthDay(data.resetMonth, data.resetDay)\n : null\n\n if (isHourly) {\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: data.accrualRateUnit != null ? String(data.accrualRateUnit) : undefined,\n policyResetDate,\n complete: false,\n }\n }\n\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: null,\n policyResetDate,\n complete: false,\n }\n}\n\nfunction buildUpdateRequestBody(\n data: PolicyConfigurationFormData,\n policyType: 'sick' | 'vacation',\n version: string,\n): PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody {\n const accrualMethod = resolveApiAccrualMethod(data)\n\n const base: PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody = {\n name: data.name,\n policyType,\n accrualMethod,\n version,\n }\n\n if (accrualMethod === 'unlimited') {\n return {\n ...base,\n accrualRate: null,\n accrualRateUnit: null,\n policyResetDate: null,\n }\n }\n\n const isHourly =\n accrualMethod === 'per_hour_paid' ||\n accrualMethod === 'per_hour_paid_no_overtime' ||\n accrualMethod === 'per_hour_worked' ||\n accrualMethod === 'per_hour_worked_no_overtime'\n\n const policyResetDate =\n data.resetDateType === 'per_calendar_year'\n ? formatMonthDay(data.resetMonth, data.resetDay)\n : null\n\n if (isHourly) {\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: data.accrualRateUnit != null ? String(data.accrualRateUnit) : undefined,\n policyResetDate,\n }\n }\n\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: null,\n policyResetDate,\n }\n}\n\nfunction Root({ companyId, policyType, defaultValues, policyId }: PolicyConfigurationFormProps) {\n if (policyId) {\n return (\n <EditRoot\n companyId={companyId}\n policyType={policyType}\n policyId={policyId}\n defaultValues={defaultValues}\n />\n )\n }\n return <CreateRoot companyId={companyId} policyType={policyType} defaultValues={defaultValues} />\n}\n\ninterface CreateRootProps {\n companyId: string\n policyType: 'sick' | 'vacation'\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\nfunction CreateRoot({ companyId, policyType, defaultValues }: CreateRootProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { mutateAsync: createTimeOffPolicy, isPending } = useTimeOffPoliciesCreateMutation()\n\n const handleContinue = useCallback(\n async (data: PolicyConfigurationFormData) => {\n await baseSubmitHandler(data, async () => {\n const requestBody = buildCreateRequestBody(data, policyType)\n\n const response = await createTimeOffPolicy({\n request: {\n companyUuid: companyId,\n timeOffPolicyRequest: requestBody,\n },\n })\n\n onEvent(componentEvents.TIME_OFF_POLICY_DETAILS_DONE, {\n policyId: response.timeOffPolicy!.uuid,\n accrualMethod: requestBody.accrualMethod,\n })\n })\n },\n [baseSubmitHandler, companyId, createTimeOffPolicy, onEvent, policyType],\n )\n\n const handleCancel = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <PolicyConfigurationFormPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultValues={defaultValues}\n isPending={isPending}\n />\n )\n}\n\ninterface EditRootProps {\n companyId: string\n policyType: 'sick' | 'vacation'\n policyId: string\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\nfunction EditRoot({ companyId, policyType, policyId, defaultValues }: EditRootProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: policyId,\n })\n\n const { mutateAsync: updateTimeOffPolicy, isPending } = useTimeOffPoliciesUpdateMutation()\n\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const version = policy.version ?? ''\n const fetchedDefaults = deriveFormDefaults(policy)\n const mergedDefaults = { ...fetchedDefaults, ...defaultValues }\n\n const lockedAccrualCategory = policy.complete\n ? fetchedDefaults.accrualMethod === 'unlimited'\n ? ('unlimited' as const)\n : ('accrual_based' as const)\n : undefined\n\n const handleContinue = useCallback(\n async (data: PolicyConfigurationFormData) => {\n await baseSubmitHandler(data, async () => {\n const requestBody = buildUpdateRequestBody(data, policyType, version)\n\n await updateTimeOffPolicy({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody,\n },\n })\n\n void queryClient.invalidateQueries({\n queryKey: ['@gusto/embedded-api-v-2026-02-01', 'timeOffPolicies', 'get'],\n })\n\n onEvent(componentEvents.TIME_OFF_POLICY_DETAILS_DONE, {\n policyId,\n accrualMethod: requestBody.accrualMethod,\n })\n })\n },\n [baseSubmitHandler, policyId, policyType, version, updateTimeOffPolicy, queryClient, onEvent],\n )\n\n const handleCancel = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <PolicyConfigurationFormPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultValues={mergedDefaults}\n editingPolicyName={policy.name}\n isPending={isPending}\n lockedAccrualCategory={lockedAccrualCategory}\n />\n )\n}\n"],"names":["PolicyConfigurationForm","props","jsx","BaseComponent","Root","resolveApiAccrualMethod","data","paid","overtime","HOURLY_API_METHODS","deriveFormDefaults","policy","defaults","apiMethod","month","day","buildCreateRequestBody","policyType","accrualMethod","base","isHourly","policyResetDate","formatMonthDay","buildUpdateRequestBody","version","companyId","defaultValues","policyId","EditRoot","CreateRoot","onEvent","baseSubmitHandler","useBase","createTimeOffPolicy","isPending","useTimeOffPoliciesCreateMutation","handleContinue","useCallback","requestBody","response","componentEvents","handleCancel","PolicyConfigurationFormPresentation","queryClient","useQueryClient","policyResponse","useTimeOffPoliciesGetSuspense","updateTimeOffPolicy","useTimeOffPoliciesUpdateMutation","fetchedDefaults","mergedDefaults","lockedAccrualCategory"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PolicyConfigurationForm.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { useTimeOffPoliciesCreateMutation } from '@gusto/embedded-api/react-query/timeOffPoliciesCreate'\nimport { useTimeOffPoliciesUpdateMutation } from '@gusto/embedded-api/react-query/timeOffPoliciesUpdate'\nimport { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api/react-query/timeOffPoliciesGet'\nimport type { TimeOffPolicyRequest } from '@gusto/embedded-api/models/components/timeoffpolicyrequest'\nimport type { TimeOffPolicy } from '@gusto/embedded-api/models/components/timeoffpolicy'\nimport type { PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody } from '@gusto/embedded-api/models/operations/putv1timeoffpoliciestimeoffpolicyuuid'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { PolicyConfigurationFormPresentation } from './PolicyConfigurationFormPresentation'\nimport type { PolicyConfigurationFormData } from './PolicyConfigurationFormTypes'\nimport { API_QUERY_NAMESPACE } from '@/contexts/ApiProvider/apiVersion'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { formatMonthDay } from '@/helpers/dateFormatting'\n\n/**\n * Props for {@link PolicyConfigurationForm}.\n *\n * @public\n */\nexport interface PolicyConfigurationFormProps extends BaseComponentInterface<'Company.TimeOff.CreateTimeOffPolicy'> {\n /** Company that owns the policy being created or edited. */\n companyId: string\n /** Type of policy being configured. */\n policyType: 'sick' | 'vacation'\n /** When set, the form loads the existing policy and submits an update. */\n policyId?: string\n /** Pre-populated values to merge into the form's defaults. */\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\n/**\n * Form for creating or editing the details of a sick or vacation time off policy — its name and accrual configuration.\n *\n * @remarks\n * Omit `policyId` to create a new policy; pass `policyId` to edit an existing\n * one. In edit mode, the form fetches the policy via Suspense and merges the\n * derived defaults with any `defaultValues` you supply (your overrides win).\n * When editing a policy whose configuration is already complete, the accrual\n * method selector is restricted to the matching category (unlimited vs.\n * accrual-based).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policyDetails/done` | Fired after the policy is successfully created or updated | `{ policyId: string, accrualMethod: string }` |\n * | `CANCEL` | Fired when the user clicks the cancel button | — |\n *\n * @param props - See {@link PolicyConfigurationFormProps}.\n * @returns The rendered policy configuration form.\n * @public\n */\nexport function PolicyConfigurationForm(props: PolicyConfigurationFormProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction resolveApiAccrualMethod(\n data: PolicyConfigurationFormData,\n): TimeOffPolicyRequest['accrualMethod'] {\n switch (data.accrualMethod) {\n case 'unlimited':\n return 'unlimited'\n\n case 'per_hour_paid': {\n const paid = data.allPaidHours ?? false\n const overtime = data.includeOvertime ?? false\n\n if (paid && overtime) return 'per_hour_paid'\n if (paid && !overtime) return 'per_hour_paid_no_overtime'\n if (!paid && overtime) return 'per_hour_worked'\n return 'per_hour_worked_no_overtime'\n }\n\n case 'per_calendar_year': {\n if (data.accrualMethodFixed === 'per_pay_period') return 'per_pay_period'\n\n return data.resetDateType === 'per_anniversary_year'\n ? 'per_anniversary_year'\n : 'per_calendar_year'\n }\n }\n}\n\nconst HOURLY_API_METHODS = [\n 'per_hour_paid',\n 'per_hour_paid_no_overtime',\n 'per_hour_worked',\n 'per_hour_worked_no_overtime',\n]\n\nfunction deriveFormDefaults(policy: TimeOffPolicy): Partial<PolicyConfigurationFormData> {\n const defaults: Partial<PolicyConfigurationFormData> = { name: policy.name }\n const apiMethod = policy.accrualMethod\n\n if (apiMethod === 'unlimited') {\n defaults.accrualMethod = 'unlimited'\n } else if (HOURLY_API_METHODS.includes(apiMethod)) {\n defaults.accrualMethod = 'per_hour_paid'\n defaults.allPaidHours =\n apiMethod === 'per_hour_paid' || apiMethod === 'per_hour_paid_no_overtime'\n defaults.includeOvertime = apiMethod === 'per_hour_paid' || apiMethod === 'per_hour_worked'\n\n if (policy.accrualRate != null) defaults.accrualRate = Number(policy.accrualRate)\n if (policy.accrualRateUnit != null) defaults.accrualRateUnit = Number(policy.accrualRateUnit)\n\n if (policy.policyResetDate) {\n defaults.resetDateType = 'per_calendar_year'\n }\n } else {\n defaults.accrualMethod = 'per_calendar_year'\n\n if (apiMethod === 'per_pay_period') {\n defaults.accrualMethodFixed = 'per_pay_period'\n defaults.resetDateType = policy.policyResetDate ? 'per_calendar_year' : 'per_anniversary_year'\n } else {\n defaults.accrualMethodFixed = 'all_at_once'\n defaults.resetDateType =\n apiMethod === 'per_anniversary_year' ? 'per_anniversary_year' : 'per_calendar_year'\n }\n\n if (policy.accrualRate != null) defaults.accrualRate = Number(policy.accrualRate)\n }\n\n if (policy.policyResetDate) {\n const [month, day] = policy.policyResetDate.split('-').map(Number)\n if (month) defaults.resetMonth = month\n if (day) defaults.resetDay = day\n }\n\n return defaults\n}\n\nfunction buildCreateRequestBody(\n data: PolicyConfigurationFormData,\n policyType: 'sick' | 'vacation',\n): TimeOffPolicyRequest {\n const accrualMethod = resolveApiAccrualMethod(data)\n\n const base: TimeOffPolicyRequest = { name: data.name, policyType, accrualMethod }\n\n if (accrualMethod === 'unlimited') {\n return { ...base, complete: true }\n }\n\n const isHourly =\n accrualMethod === 'per_hour_paid' ||\n accrualMethod === 'per_hour_paid_no_overtime' ||\n accrualMethod === 'per_hour_worked' ||\n accrualMethod === 'per_hour_worked_no_overtime'\n\n const policyResetDate =\n data.resetDateType === 'per_calendar_year'\n ? formatMonthDay(data.resetMonth, data.resetDay)\n : null\n\n if (isHourly) {\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: data.accrualRateUnit != null ? String(data.accrualRateUnit) : undefined,\n policyResetDate,\n complete: false,\n }\n }\n\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: null,\n policyResetDate,\n complete: false,\n }\n}\n\nfunction buildUpdateRequestBody(\n data: PolicyConfigurationFormData,\n policyType: 'sick' | 'vacation',\n version: string,\n): PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody {\n const accrualMethod = resolveApiAccrualMethod(data)\n\n const base: PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody = {\n name: data.name,\n policyType,\n accrualMethod,\n version,\n }\n\n if (accrualMethod === 'unlimited') {\n return {\n ...base,\n accrualRate: null,\n accrualRateUnit: null,\n policyResetDate: null,\n }\n }\n\n const isHourly =\n accrualMethod === 'per_hour_paid' ||\n accrualMethod === 'per_hour_paid_no_overtime' ||\n accrualMethod === 'per_hour_worked' ||\n accrualMethod === 'per_hour_worked_no_overtime'\n\n const policyResetDate =\n data.resetDateType === 'per_calendar_year'\n ? formatMonthDay(data.resetMonth, data.resetDay)\n : null\n\n if (isHourly) {\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: data.accrualRateUnit != null ? String(data.accrualRateUnit) : undefined,\n policyResetDate,\n }\n }\n\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: null,\n policyResetDate,\n }\n}\n\nfunction Root({ companyId, policyType, defaultValues, policyId }: PolicyConfigurationFormProps) {\n if (policyId) {\n return (\n <EditRoot\n companyId={companyId}\n policyType={policyType}\n policyId={policyId}\n defaultValues={defaultValues}\n />\n )\n }\n return <CreateRoot companyId={companyId} policyType={policyType} defaultValues={defaultValues} />\n}\n\ninterface CreateRootProps {\n companyId: string\n policyType: 'sick' | 'vacation'\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\nfunction CreateRoot({ companyId, policyType, defaultValues }: CreateRootProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { mutateAsync: createTimeOffPolicy, isPending } = useTimeOffPoliciesCreateMutation()\n\n const handleContinue = useCallback(\n async (data: PolicyConfigurationFormData) => {\n await baseSubmitHandler(data, async () => {\n const requestBody = buildCreateRequestBody(data, policyType)\n\n const response = await createTimeOffPolicy({\n request: {\n companyUuid: companyId,\n timeOffPolicyRequest: requestBody,\n },\n })\n\n onEvent(componentEvents.TIME_OFF_POLICY_DETAILS_DONE, {\n policyId: response.timeOffPolicy!.uuid,\n accrualMethod: requestBody.accrualMethod,\n })\n })\n },\n [baseSubmitHandler, companyId, createTimeOffPolicy, onEvent, policyType],\n )\n\n const handleCancel = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <PolicyConfigurationFormPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultValues={defaultValues}\n isPending={isPending}\n />\n )\n}\n\ninterface EditRootProps {\n companyId: string\n policyType: 'sick' | 'vacation'\n policyId: string\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\nfunction EditRoot({ companyId, policyType, policyId, defaultValues }: EditRootProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: policyId,\n })\n\n const { mutateAsync: updateTimeOffPolicy, isPending } = useTimeOffPoliciesUpdateMutation()\n\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const version = policy.version ?? ''\n const fetchedDefaults = deriveFormDefaults(policy)\n const mergedDefaults = { ...fetchedDefaults, ...defaultValues }\n\n const lockedAccrualCategory = policy.complete\n ? fetchedDefaults.accrualMethod === 'unlimited'\n ? ('unlimited' as const)\n : ('accrual_based' as const)\n : undefined\n\n const handleContinue = useCallback(\n async (data: PolicyConfigurationFormData) => {\n await baseSubmitHandler(data, async () => {\n const requestBody = buildUpdateRequestBody(data, policyType, version)\n\n await updateTimeOffPolicy({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody,\n },\n })\n\n void queryClient.invalidateQueries({\n queryKey: [API_QUERY_NAMESPACE, 'timeOffPolicies', 'get'],\n })\n\n onEvent(componentEvents.TIME_OFF_POLICY_DETAILS_DONE, {\n policyId,\n accrualMethod: requestBody.accrualMethod,\n })\n })\n },\n [baseSubmitHandler, policyId, policyType, version, updateTimeOffPolicy, queryClient, onEvent],\n )\n\n const handleCancel = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <PolicyConfigurationFormPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultValues={mergedDefaults}\n editingPolicyName={policy.name}\n isPending={isPending}\n lockedAccrualCategory={lockedAccrualCategory}\n />\n )\n}\n"],"names":["PolicyConfigurationForm","props","jsx","BaseComponent","Root","resolveApiAccrualMethod","data","paid","overtime","HOURLY_API_METHODS","deriveFormDefaults","policy","defaults","apiMethod","month","day","buildCreateRequestBody","policyType","accrualMethod","base","isHourly","policyResetDate","formatMonthDay","buildUpdateRequestBody","version","companyId","defaultValues","policyId","EditRoot","CreateRoot","onEvent","baseSubmitHandler","useBase","createTimeOffPolicy","isPending","useTimeOffPoliciesCreateMutation","handleContinue","useCallback","requestBody","response","componentEvents","handleCancel","PolicyConfigurationFormPresentation","queryClient","useQueryClient","policyResponse","useTimeOffPoliciesGetSuspense","updateTimeOffPolicy","useTimeOffPoliciesUpdateMutation","fetchedDefaults","mergedDefaults","lockedAccrualCategory","API_QUERY_NAMESPACE"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback as p, useMemo as w } from "react";
|
|
3
3
|
import { useQueryClient as L } from "@tanstack/react-query";
|
|
4
|
-
import { useHolidayPayPoliciesAddEmployeesMutation as M } from "@gusto/embedded-api
|
|
5
|
-
import { queryKeyHolidayPayPoliciesGet as F, invalidateAllHolidayPayPoliciesGet as U, useHolidayPayPoliciesGetSuspense as Y } from "@gusto/embedded-api
|
|
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
6
|
import { SelectEmployeesPresentation as v } from "./SelectEmployeesPresentation.js";
|
|
7
7
|
import { useSelectEmployeesData as I } from "./useSelectEmployeesData.js";
|
|
8
8
|
import { useBase as q } from "../../../Base/useBase.js";
|
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 } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesAddEmployeesMutation } from '@gusto/embedded-api
|
|
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\n/** @internal */\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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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PaidTimeOff } from '@gusto/embedded-api
|
|
1
|
+
import { PaidTimeOff } from '@gusto/embedded-api/models/components/paidtimeoff';
|
|
2
2
|
import { PaginationControlProps } from '../../../Common/PaginationControl/PaginationControlTypes';
|
|
3
3
|
/** @internal */
|
|
4
4
|
export interface EmployeeItem {
|
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as h } from "react/jsx-runtime";
|
|
2
2
|
import { useRef as W, useCallback as l, useMemo as P, useState as G } from "react";
|
|
3
|
-
import { useTimeOffPoliciesAddEmployeesMutation as J } from "@gusto/embedded-api
|
|
4
|
-
import { useTimeOffPoliciesGetSuspense as X } from "@gusto/embedded-api
|
|
5
|
-
import { useTimeOffPoliciesUpdateMutation as Z } from "@gusto/embedded-api
|
|
6
|
-
import { UnprocessableEntityError as $ } from "@gusto/embedded-api
|
|
3
|
+
import { useTimeOffPoliciesAddEmployeesMutation as J } from "@gusto/embedded-api/react-query/timeOffPoliciesAddEmployees";
|
|
4
|
+
import { useTimeOffPoliciesGetSuspense as X } from "@gusto/embedded-api/react-query/timeOffPoliciesGet";
|
|
5
|
+
import { useTimeOffPoliciesUpdateMutation as Z } from "@gusto/embedded-api/react-query/timeOffPoliciesUpdate";
|
|
6
|
+
import { UnprocessableEntityError as $ } from "@gusto/embedded-api/models/errors/unprocessableentityerror";
|
|
7
7
|
import { useQueryClient as ee } from "@tanstack/react-query";
|
|
8
8
|
import { useTranslation as te } from "react-i18next";
|
|
9
9
|
import { SelectEmployeesPresentation as ne } from "./SelectEmployeesPresentation.js";
|
|
10
10
|
import { useSelectEmployeesData as oe, matchesEmployeeSearch as ie } from "./useSelectEmployeesData.js";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
|
|
11
|
+
import { API_QUERY_NAMESPACE as se } from "../../../../contexts/ApiProvider/apiVersion.js";
|
|
12
|
+
import { useBase as re } from "../../../Base/useBase.js";
|
|
13
|
+
import { SDKInternalError as ae } from "../../../../types/sdkError.js";
|
|
14
|
+
import { componentEvents as O } from "../../../../shared/constants.js";
|
|
15
|
+
import { useI18n as ce } from "../../../../i18n/I18n.js";
|
|
16
|
+
const le = {
|
|
16
17
|
vacation: "Vacation Hours",
|
|
17
18
|
sick: "Sick Hours"
|
|
18
19
|
};
|
|
19
20
|
function T(i, a) {
|
|
20
21
|
if (!i) return;
|
|
21
|
-
const n =
|
|
22
|
+
const n = le[a], r = i.eligiblePaidTimeOff?.find((c) => c.name === n)?.accrualBalance;
|
|
22
23
|
return r && r.length > 0 ? r : void 0;
|
|
23
24
|
}
|
|
24
|
-
function
|
|
25
|
+
function me(i, a) {
|
|
25
26
|
const n = {};
|
|
26
27
|
for (const s of i) {
|
|
27
28
|
const r = T(s, a);
|
|
@@ -29,22 +30,22 @@ function le(i, a) {
|
|
|
29
30
|
}
|
|
30
31
|
return n;
|
|
31
32
|
}
|
|
32
|
-
function
|
|
33
|
-
return i.mode === "wizard" ? /* @__PURE__ */
|
|
33
|
+
function Me(i) {
|
|
34
|
+
return i.mode === "wizard" ? /* @__PURE__ */ h(U, { ...i, mode: "wizard" }) : /* @__PURE__ */ h(fe, { ...i });
|
|
34
35
|
}
|
|
35
|
-
function
|
|
36
|
+
function fe(i) {
|
|
36
37
|
const { data: a } = X({
|
|
37
38
|
timeOffPolicyUuid: i.policyId
|
|
38
39
|
}), n = a.timeOffPolicy;
|
|
39
40
|
if (!n) throw new Error("Unexpected response: missing timeOffPolicy");
|
|
40
41
|
const s = n.accrualMethod === "unlimited", r = P(() => {
|
|
41
42
|
const c = /* @__PURE__ */ new Set();
|
|
42
|
-
for (const
|
|
43
|
-
|
|
43
|
+
for (const f of n.employees)
|
|
44
|
+
f.uuid && c.add(f.uuid);
|
|
44
45
|
return c;
|
|
45
46
|
}, [n.employees]);
|
|
46
|
-
return /* @__PURE__ */
|
|
47
|
-
|
|
47
|
+
return /* @__PURE__ */ h(
|
|
48
|
+
U,
|
|
48
49
|
{
|
|
49
50
|
...i,
|
|
50
51
|
mode: "standalone",
|
|
@@ -53,7 +54,7 @@ function me(i) {
|
|
|
53
54
|
}
|
|
54
55
|
);
|
|
55
56
|
}
|
|
56
|
-
function
|
|
57
|
+
function U({
|
|
57
58
|
companyId: i,
|
|
58
59
|
policyId: a,
|
|
59
60
|
policyType: n,
|
|
@@ -61,38 +62,38 @@ function F({
|
|
|
61
62
|
existingAssigneeUuids: r,
|
|
62
63
|
hideBalances: c = !1
|
|
63
64
|
}) {
|
|
64
|
-
|
|
65
|
-
const { t:
|
|
66
|
-
filteredEmployees:
|
|
67
|
-
eligibleEmployees:
|
|
68
|
-
selectedUuids:
|
|
65
|
+
ce("Company.TimeOff.SelectEmployees");
|
|
66
|
+
const { t: f } = te("Company.TimeOff.SelectEmployees"), { onEvent: m, baseSubmitHandler: _ } = re(), C = ee(), {
|
|
67
|
+
filteredEmployees: F,
|
|
68
|
+
eligibleEmployees: u,
|
|
69
|
+
selectedUuids: S,
|
|
69
70
|
searchValue: y,
|
|
70
71
|
pagination: I,
|
|
71
|
-
isFetching:
|
|
72
|
-
handleSelect:
|
|
73
|
-
handleSelectAll:
|
|
74
|
-
handleSearchChange:
|
|
72
|
+
isFetching: Y,
|
|
73
|
+
handleSelect: A,
|
|
74
|
+
handleSelectAll: v,
|
|
75
|
+
handleSearchChange: q,
|
|
75
76
|
handleSearchClear: x
|
|
76
77
|
} = oe(i, r), d = W(/* @__PURE__ */ new Map()), L = l(
|
|
77
78
|
(t, e) => {
|
|
78
|
-
e ? d.current.set(t.uuid, t) : d.current.delete(t.uuid),
|
|
79
|
+
e ? d.current.set(t.uuid, t) : d.current.delete(t.uuid), A(t, e);
|
|
79
80
|
},
|
|
80
|
-
[
|
|
81
|
+
[A]
|
|
81
82
|
), N = l(
|
|
82
83
|
(t) => {
|
|
83
|
-
const e = y ?
|
|
84
|
+
const e = y ? u.filter((o) => ie(o, y)) : u;
|
|
84
85
|
for (const o of e)
|
|
85
86
|
t ? d.current.set(o.uuid, o) : d.current.delete(o.uuid);
|
|
86
|
-
|
|
87
|
+
v(t);
|
|
87
88
|
},
|
|
88
|
-
[
|
|
89
|
-
),
|
|
90
|
-
() =>
|
|
91
|
-
[
|
|
89
|
+
[u, y, v]
|
|
90
|
+
), b = P(
|
|
91
|
+
() => me(u, n),
|
|
92
|
+
[u, n]
|
|
92
93
|
), [E, R] = G({}), k = P(
|
|
93
|
-
() => ({ ...
|
|
94
|
-
[
|
|
95
|
-
), { mutateAsync:
|
|
94
|
+
() => ({ ...b, ...E }),
|
|
95
|
+
[b, E]
|
|
96
|
+
), { mutateAsync: M, isPending: z } = J(), { mutateAsync: w, isPending: H } = Z(), K = z || H, Q = l((t, e) => {
|
|
96
97
|
R((o) => ({ ...o, [t]: e }));
|
|
97
98
|
}, []), B = l(
|
|
98
99
|
(t) => t.map((e) => {
|
|
@@ -100,15 +101,15 @@ function F({
|
|
|
100
101
|
const o = E[e], p = T(
|
|
101
102
|
d.current.get(e),
|
|
102
103
|
n
|
|
103
|
-
),
|
|
104
|
-
return { uuid: e, balance:
|
|
104
|
+
), g = o && o.length > 0 ? o : p ?? "0";
|
|
105
|
+
return { uuid: e, balance: g };
|
|
105
106
|
}),
|
|
106
107
|
[c, E, n]
|
|
107
108
|
), D = l(
|
|
108
109
|
async (t) => {
|
|
109
|
-
await
|
|
110
|
+
await _({}, async () => {
|
|
110
111
|
let e;
|
|
111
|
-
if (t.length > 0 && (e = (await
|
|
112
|
+
if (t.length > 0 && (e = (await M({
|
|
112
113
|
request: {
|
|
113
114
|
timeOffPolicyUuid: a,
|
|
114
115
|
requestBody: { employees: B(t) }
|
|
@@ -116,7 +117,7 @@ function F({
|
|
|
116
117
|
})).timeOffPolicy), s === "wizard" && e) {
|
|
117
118
|
const o = typeof e == "object" && "version" in e ? String(e.version) : "";
|
|
118
119
|
try {
|
|
119
|
-
await
|
|
120
|
+
await w({
|
|
120
121
|
request: {
|
|
121
122
|
timeOffPolicyUuid: a,
|
|
122
123
|
requestBody: { complete: !0, version: o }
|
|
@@ -124,9 +125,9 @@ function F({
|
|
|
124
125
|
});
|
|
125
126
|
} catch (p) {
|
|
126
127
|
if (p instanceof $) {
|
|
127
|
-
const
|
|
128
|
-
throw new
|
|
129
|
-
|
|
128
|
+
const g = p.errors[0]?.message ?? "";
|
|
129
|
+
throw new ae(
|
|
130
|
+
f("errors.completePolicyFailed", { details: g }),
|
|
130
131
|
"api_error"
|
|
131
132
|
);
|
|
132
133
|
}
|
|
@@ -134,52 +135,52 @@ function F({
|
|
|
134
135
|
}
|
|
135
136
|
}
|
|
136
137
|
C.invalidateQueries({
|
|
137
|
-
queryKey: [
|
|
138
|
-
}), m(
|
|
138
|
+
queryKey: [se, "timeOffPolicies", "get"]
|
|
139
|
+
}), m(O.TIME_OFF_ADD_EMPLOYEES_DONE, e);
|
|
139
140
|
});
|
|
140
141
|
},
|
|
141
142
|
[
|
|
142
143
|
s,
|
|
143
|
-
|
|
144
|
-
w,
|
|
145
|
-
B,
|
|
144
|
+
_,
|
|
146
145
|
M,
|
|
146
|
+
B,
|
|
147
|
+
w,
|
|
147
148
|
a,
|
|
148
149
|
C,
|
|
149
150
|
m,
|
|
150
|
-
|
|
151
|
+
f
|
|
151
152
|
]
|
|
152
|
-
),
|
|
153
|
-
const t = [...
|
|
153
|
+
), V = l(async () => {
|
|
154
|
+
const t = [...S];
|
|
154
155
|
if (t.length === 0 && s === "standalone") {
|
|
155
|
-
m(
|
|
156
|
+
m(O.TIME_OFF_ADD_EMPLOYEES_DONE);
|
|
156
157
|
return;
|
|
157
158
|
}
|
|
158
159
|
await D(t);
|
|
159
|
-
}, [s,
|
|
160
|
-
m(
|
|
160
|
+
}, [s, S, m, D]), j = l(() => {
|
|
161
|
+
m(O.TIME_OFF_ADD_EMPLOYEES_BACK);
|
|
161
162
|
}, [m]);
|
|
162
|
-
return /* @__PURE__ */
|
|
163
|
+
return /* @__PURE__ */ h(
|
|
163
164
|
ne,
|
|
164
165
|
{
|
|
165
|
-
employees:
|
|
166
|
-
selectedUuids:
|
|
166
|
+
employees: F,
|
|
167
|
+
selectedUuids: S,
|
|
167
168
|
searchValue: y,
|
|
168
169
|
onSelect: L,
|
|
169
170
|
onSelectAll: N,
|
|
170
|
-
onSearchChange:
|
|
171
|
+
onSearchChange: q,
|
|
171
172
|
onSearchClear: x,
|
|
172
|
-
onBack:
|
|
173
|
-
onContinue:
|
|
173
|
+
onBack: j,
|
|
174
|
+
onContinue: V,
|
|
174
175
|
balances: c ? void 0 : k,
|
|
175
|
-
onBalanceChange: c ? void 0 :
|
|
176
|
+
onBalanceChange: c ? void 0 : Q,
|
|
176
177
|
pagination: I,
|
|
177
|
-
isFetching:
|
|
178
|
+
isFetching: Y,
|
|
178
179
|
isPending: K
|
|
179
180
|
}
|
|
180
181
|
);
|
|
181
182
|
}
|
|
182
183
|
export {
|
|
183
|
-
|
|
184
|
+
Me as SelectEmployeesTimeOff
|
|
184
185
|
};
|
|
185
186
|
//# sourceMappingURL=SelectEmployeesTimeOff.js.map
|
package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectEmployeesTimeOff.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from 'react'\nimport { useTimeOffPoliciesAddEmployeesMutation } from '@gusto/embedded-api-v-2026-02-01/react-query/timeOffPoliciesAddEmployees'\nimport { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api-v-2026-02-01/react-query/timeOffPoliciesGet'\nimport { useTimeOffPoliciesUpdateMutation } from '@gusto/embedded-api-v-2026-02-01/react-query/timeOffPoliciesUpdate'\nimport { UnprocessableEntityError } from '@gusto/embedded-api-v-2026-02-01/models/errors/unprocessableentityerror'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useTranslation } from 'react-i18next'\nimport type { CreatableTimeOffPolicyType } from '../../TimeOffFlow/timeOffPolicyTypes'\nimport { SelectEmployeesPresentation } from './SelectEmployeesPresentation'\nimport { matchesEmployeeSearch, useSelectEmployeesData } from './useSelectEmployeesData'\nimport type { EmployeeItem } from './SelectEmployeesPresentationTypes'\nimport { useBase } from '@/components/Base/useBase'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\n\ninterface SelectEmployeesTimeOffProps {\n companyId: string\n policyId: string\n policyType: CreatableTimeOffPolicyType\n mode?: 'standalone' | 'wizard'\n}\n\nconst PAID_TIME_OFF_NAME_BY_POLICY_TYPE: Record<CreatableTimeOffPolicyType, string> = {\n vacation: 'Vacation Hours',\n sick: 'Sick Hours',\n}\n\nfunction extractCarryOverBalance(\n employee: EmployeeItem | undefined,\n policyType: CreatableTimeOffPolicyType,\n): string | undefined {\n if (!employee) return undefined\n const targetName = PAID_TIME_OFF_NAME_BY_POLICY_TYPE[policyType]\n const matching = employee.eligiblePaidTimeOff?.find(pto => pto.name === targetName)\n const balance = matching?.accrualBalance\n return balance && balance.length > 0 ? balance : undefined\n}\n\nfunction deriveCarryOverBalances(\n employees: EmployeeItem[],\n policyType: CreatableTimeOffPolicyType,\n): Record<string, string> {\n const map: Record<string, string> = {}\n for (const employee of employees) {\n const balance = extractCarryOverBalance(employee, policyType)\n if (balance) {\n map[employee.uuid] = balance\n }\n }\n return map\n}\n\n/** @internal */\nexport function SelectEmployeesTimeOff(props: SelectEmployeesTimeOffProps) {\n if (props.mode === 'wizard') {\n return <SelectEmployeesTimeOffInner {...props} mode=\"wizard\" />\n }\n return <StandaloneLoader {...props} />\n}\n\nfunction StandaloneLoader(props: SelectEmployeesTimeOffProps) {\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: props.policyId,\n })\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const isUnlimited = policy.accrualMethod === 'unlimited'\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 <SelectEmployeesTimeOffInner\n {...props}\n mode=\"standalone\"\n existingAssigneeUuids={existingAssigneeUuids}\n hideBalances={isUnlimited}\n />\n )\n}\n\ninterface InnerProps extends SelectEmployeesTimeOffProps {\n existingAssigneeUuids?: Set<string>\n hideBalances?: boolean\n}\n\nfunction SelectEmployeesTimeOffInner({\n companyId,\n policyId,\n policyType,\n mode = 'standalone',\n existingAssigneeUuids,\n hideBalances = false,\n}: InnerProps) {\n useI18n('Company.TimeOff.SelectEmployees')\n const { t } = useTranslation('Company.TimeOff.SelectEmployees')\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const {\n filteredEmployees,\n eligibleEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange,\n handleSearchClear,\n } = useSelectEmployeesData(companyId, existingAssigneeUuids)\n\n // Captures the full Employee record at the moment a row is selected so\n // their record is still available for the reassignment-warning check at\n // submit time even if the user has since searched/paginated the row out of\n // view. Without this, `selectedUuids` would point at UUIDs we no longer\n // have data for.\n const selectedEmployeesRef = useRef(new Map<string, EmployeeItem>())\n\n const handleSelectWithCapture = useCallback(\n (item: EmployeeItem, checked: boolean) => {\n if (checked) {\n selectedEmployeesRef.current.set(item.uuid, item)\n } else {\n selectedEmployeesRef.current.delete(item.uuid)\n }\n handleSelect(item, checked)\n },\n [handleSelect],\n )\n\n const handleSelectAllWithCapture = useCallback(\n (checked: boolean) => {\n // Mirror the hook's scope: full search-filtered list across pages, not\n // just the visible page slice. Keeps `selectedEmployeesRef` in sync so\n // off-page selections survive a submit (carry-over balances, etc.).\n const scope = searchValue\n ? eligibleEmployees.filter(employee => matchesEmployeeSearch(employee, searchValue))\n : eligibleEmployees\n for (const item of scope) {\n if (checked) {\n selectedEmployeesRef.current.set(item.uuid, item)\n } else {\n selectedEmployeesRef.current.delete(item.uuid)\n }\n }\n handleSelectAll(checked)\n },\n [eligibleEmployees, searchValue, handleSelectAll],\n )\n\n const carryOverBalances = useMemo(\n () => deriveCarryOverBalances(eligibleEmployees, policyType),\n [eligibleEmployees, policyType],\n )\n\n const [balances, setBalances] = useState<Record<string, string>>({})\n\n const effectiveBalances = useMemo<Record<string, string>>(\n () => ({ ...carryOverBalances, ...balances }),\n [carryOverBalances, balances],\n )\n\n const { mutateAsync: addEmployees, isPending: isAddPending } =\n useTimeOffPoliciesAddEmployeesMutation()\n const { mutateAsync: updatePolicy, isPending: isUpdatePending } =\n useTimeOffPoliciesUpdateMutation()\n const isSubmitPending = isAddPending || isUpdatePending\n\n const handleBalanceChange = useCallback((uuid: string, value: string) => {\n setBalances(prev => ({ ...prev, [uuid]: value }))\n }, [])\n\n const buildAddPayload = useCallback(\n (uuids: string[]) =>\n uuids.map(uuid => {\n if (hideBalances) return { uuid, balance: '0' }\n const userValue = balances[uuid]\n const carryOver = extractCarryOverBalance(\n selectedEmployeesRef.current.get(uuid),\n policyType,\n )\n const balance = userValue && userValue.length > 0 ? userValue : (carryOver ?? '0')\n return { uuid, balance }\n }),\n [hideBalances, balances, policyType],\n )\n\n const submitAdd = useCallback(\n async (toAdd: string[]) => {\n await baseSubmitHandler({}, async () => {\n let policyResult: unknown\n if (toAdd.length > 0) {\n const response = await addEmployees({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: { employees: buildAddPayload(toAdd) },\n },\n })\n policyResult = response.timeOffPolicy\n }\n if (mode === 'wizard' && policyResult) {\n const version =\n typeof policyResult === 'object' && 'version' in policyResult\n ? String((policyResult as { version: unknown }).version)\n : ''\n try {\n await updatePolicy({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: { complete: true, version },\n },\n })\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n const apiMessage = err.errors[0]?.message ?? ''\n throw new SDKInternalError(\n t('errors.completePolicyFailed', { details: apiMessage }),\n 'api_error',\n )\n }\n throw err\n }\n }\n void queryClient.invalidateQueries({\n queryKey: ['@gusto/embedded-api-v-2026-02-01', 'timeOffPolicies', 'get'],\n })\n onEvent(componentEvents.TIME_OFF_ADD_EMPLOYEES_DONE, policyResult)\n })\n },\n [\n mode,\n baseSubmitHandler,\n addEmployees,\n buildAddPayload,\n updatePolicy,\n policyId,\n queryClient,\n onEvent,\n t,\n ],\n )\n\n const handleContinue = useCallback(async () => {\n const toAdd = [...selectedUuids]\n\n if (toAdd.length === 0 && mode === 'standalone') {\n onEvent(componentEvents.TIME_OFF_ADD_EMPLOYEES_DONE)\n return\n }\n\n await submitAdd(toAdd)\n }, [mode, selectedUuids, onEvent, submitAdd])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.TIME_OFF_ADD_EMPLOYEES_BACK)\n }, [onEvent])\n\n return (\n <SelectEmployeesPresentation\n employees={filteredEmployees}\n selectedUuids={selectedUuids}\n searchValue={searchValue}\n onSelect={handleSelectWithCapture}\n onSelectAll={handleSelectAllWithCapture}\n onSearchChange={handleSearchChange}\n onSearchClear={handleSearchClear}\n onBack={handleBack}\n onContinue={handleContinue}\n balances={hideBalances ? undefined : effectiveBalances}\n onBalanceChange={hideBalances ? undefined : handleBalanceChange}\n pagination={pagination}\n isFetching={isFetching}\n isPending={isSubmitPending}\n />\n )\n}\n"],"names":["PAID_TIME_OFF_NAME_BY_POLICY_TYPE","extractCarryOverBalance","employee","policyType","targetName","balance","pto","deriveCarryOverBalances","employees","map","SelectEmployeesTimeOff","props","jsx","SelectEmployeesTimeOffInner","StandaloneLoader","policyResponse","useTimeOffPoliciesGetSuspense","policy","isUnlimited","existingAssigneeUuids","useMemo","set","e","companyId","policyId","mode","hideBalances","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","filteredEmployees","eligibleEmployees","selectedUuids","searchValue","pagination","isFetching","handleSelect","handleSelectAll","handleSearchChange","handleSearchClear","useSelectEmployeesData","selectedEmployeesRef","useRef","handleSelectWithCapture","useCallback","item","checked","handleSelectAllWithCapture","scope","matchesEmployeeSearch","carryOverBalances","balances","setBalances","useState","effectiveBalances","addEmployees","isAddPending","useTimeOffPoliciesAddEmployeesMutation","updatePolicy","isUpdatePending","useTimeOffPoliciesUpdateMutation","isSubmitPending","handleBalanceChange","uuid","value","prev","buildAddPayload","uuids","userValue","carryOver","submitAdd","toAdd","policyResult","version","err","UnprocessableEntityError","apiMessage","SDKInternalError","componentEvents","handleContinue","handleBack","SelectEmployeesPresentation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectEmployeesTimeOff.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from 'react'\nimport { useTimeOffPoliciesAddEmployeesMutation } from '@gusto/embedded-api/react-query/timeOffPoliciesAddEmployees'\nimport { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api/react-query/timeOffPoliciesGet'\nimport { useTimeOffPoliciesUpdateMutation } from '@gusto/embedded-api/react-query/timeOffPoliciesUpdate'\nimport { UnprocessableEntityError } from '@gusto/embedded-api/models/errors/unprocessableentityerror'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useTranslation } from 'react-i18next'\nimport type { CreatableTimeOffPolicyType } from '../../TimeOffFlow/timeOffPolicyTypes'\nimport { SelectEmployeesPresentation } from './SelectEmployeesPresentation'\nimport { matchesEmployeeSearch, useSelectEmployeesData } from './useSelectEmployeesData'\nimport type { EmployeeItem } from './SelectEmployeesPresentationTypes'\nimport { API_QUERY_NAMESPACE } from '@/contexts/ApiProvider/apiVersion'\nimport { useBase } from '@/components/Base/useBase'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\n\ninterface SelectEmployeesTimeOffProps {\n companyId: string\n policyId: string\n policyType: CreatableTimeOffPolicyType\n mode?: 'standalone' | 'wizard'\n}\n\nconst PAID_TIME_OFF_NAME_BY_POLICY_TYPE: Record<CreatableTimeOffPolicyType, string> = {\n vacation: 'Vacation Hours',\n sick: 'Sick Hours',\n}\n\nfunction extractCarryOverBalance(\n employee: EmployeeItem | undefined,\n policyType: CreatableTimeOffPolicyType,\n): string | undefined {\n if (!employee) return undefined\n const targetName = PAID_TIME_OFF_NAME_BY_POLICY_TYPE[policyType]\n const matching = employee.eligiblePaidTimeOff?.find(pto => pto.name === targetName)\n const balance = matching?.accrualBalance\n return balance && balance.length > 0 ? balance : undefined\n}\n\nfunction deriveCarryOverBalances(\n employees: EmployeeItem[],\n policyType: CreatableTimeOffPolicyType,\n): Record<string, string> {\n const map: Record<string, string> = {}\n for (const employee of employees) {\n const balance = extractCarryOverBalance(employee, policyType)\n if (balance) {\n map[employee.uuid] = balance\n }\n }\n return map\n}\n\n/** @internal */\nexport function SelectEmployeesTimeOff(props: SelectEmployeesTimeOffProps) {\n if (props.mode === 'wizard') {\n return <SelectEmployeesTimeOffInner {...props} mode=\"wizard\" />\n }\n return <StandaloneLoader {...props} />\n}\n\nfunction StandaloneLoader(props: SelectEmployeesTimeOffProps) {\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: props.policyId,\n })\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const isUnlimited = policy.accrualMethod === 'unlimited'\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 <SelectEmployeesTimeOffInner\n {...props}\n mode=\"standalone\"\n existingAssigneeUuids={existingAssigneeUuids}\n hideBalances={isUnlimited}\n />\n )\n}\n\ninterface InnerProps extends SelectEmployeesTimeOffProps {\n existingAssigneeUuids?: Set<string>\n hideBalances?: boolean\n}\n\nfunction SelectEmployeesTimeOffInner({\n companyId,\n policyId,\n policyType,\n mode = 'standalone',\n existingAssigneeUuids,\n hideBalances = false,\n}: InnerProps) {\n useI18n('Company.TimeOff.SelectEmployees')\n const { t } = useTranslation('Company.TimeOff.SelectEmployees')\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const {\n filteredEmployees,\n eligibleEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange,\n handleSearchClear,\n } = useSelectEmployeesData(companyId, existingAssigneeUuids)\n\n // Captures the full Employee record at the moment a row is selected so\n // their record is still available for the reassignment-warning check at\n // submit time even if the user has since searched/paginated the row out of\n // view. Without this, `selectedUuids` would point at UUIDs we no longer\n // have data for.\n const selectedEmployeesRef = useRef(new Map<string, EmployeeItem>())\n\n const handleSelectWithCapture = useCallback(\n (item: EmployeeItem, checked: boolean) => {\n if (checked) {\n selectedEmployeesRef.current.set(item.uuid, item)\n } else {\n selectedEmployeesRef.current.delete(item.uuid)\n }\n handleSelect(item, checked)\n },\n [handleSelect],\n )\n\n const handleSelectAllWithCapture = useCallback(\n (checked: boolean) => {\n // Mirror the hook's scope: full search-filtered list across pages, not\n // just the visible page slice. Keeps `selectedEmployeesRef` in sync so\n // off-page selections survive a submit (carry-over balances, etc.).\n const scope = searchValue\n ? eligibleEmployees.filter(employee => matchesEmployeeSearch(employee, searchValue))\n : eligibleEmployees\n for (const item of scope) {\n if (checked) {\n selectedEmployeesRef.current.set(item.uuid, item)\n } else {\n selectedEmployeesRef.current.delete(item.uuid)\n }\n }\n handleSelectAll(checked)\n },\n [eligibleEmployees, searchValue, handleSelectAll],\n )\n\n const carryOverBalances = useMemo(\n () => deriveCarryOverBalances(eligibleEmployees, policyType),\n [eligibleEmployees, policyType],\n )\n\n const [balances, setBalances] = useState<Record<string, string>>({})\n\n const effectiveBalances = useMemo<Record<string, string>>(\n () => ({ ...carryOverBalances, ...balances }),\n [carryOverBalances, balances],\n )\n\n const { mutateAsync: addEmployees, isPending: isAddPending } =\n useTimeOffPoliciesAddEmployeesMutation()\n const { mutateAsync: updatePolicy, isPending: isUpdatePending } =\n useTimeOffPoliciesUpdateMutation()\n const isSubmitPending = isAddPending || isUpdatePending\n\n const handleBalanceChange = useCallback((uuid: string, value: string) => {\n setBalances(prev => ({ ...prev, [uuid]: value }))\n }, [])\n\n const buildAddPayload = useCallback(\n (uuids: string[]) =>\n uuids.map(uuid => {\n if (hideBalances) return { uuid, balance: '0' }\n const userValue = balances[uuid]\n const carryOver = extractCarryOverBalance(\n selectedEmployeesRef.current.get(uuid),\n policyType,\n )\n const balance = userValue && userValue.length > 0 ? userValue : (carryOver ?? '0')\n return { uuid, balance }\n }),\n [hideBalances, balances, policyType],\n )\n\n const submitAdd = useCallback(\n async (toAdd: string[]) => {\n await baseSubmitHandler({}, async () => {\n let policyResult: unknown\n if (toAdd.length > 0) {\n const response = await addEmployees({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: { employees: buildAddPayload(toAdd) },\n },\n })\n policyResult = response.timeOffPolicy\n }\n if (mode === 'wizard' && policyResult) {\n const version =\n typeof policyResult === 'object' && 'version' in policyResult\n ? String((policyResult as { version: unknown }).version)\n : ''\n try {\n await updatePolicy({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: { complete: true, version },\n },\n })\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n const apiMessage = err.errors[0]?.message ?? ''\n throw new SDKInternalError(\n t('errors.completePolicyFailed', { details: apiMessage }),\n 'api_error',\n )\n }\n throw err\n }\n }\n void queryClient.invalidateQueries({\n queryKey: [API_QUERY_NAMESPACE, 'timeOffPolicies', 'get'],\n })\n onEvent(componentEvents.TIME_OFF_ADD_EMPLOYEES_DONE, policyResult)\n })\n },\n [\n mode,\n baseSubmitHandler,\n addEmployees,\n buildAddPayload,\n updatePolicy,\n policyId,\n queryClient,\n onEvent,\n t,\n ],\n )\n\n const handleContinue = useCallback(async () => {\n const toAdd = [...selectedUuids]\n\n if (toAdd.length === 0 && mode === 'standalone') {\n onEvent(componentEvents.TIME_OFF_ADD_EMPLOYEES_DONE)\n return\n }\n\n await submitAdd(toAdd)\n }, [mode, selectedUuids, onEvent, submitAdd])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.TIME_OFF_ADD_EMPLOYEES_BACK)\n }, [onEvent])\n\n return (\n <SelectEmployeesPresentation\n employees={filteredEmployees}\n selectedUuids={selectedUuids}\n searchValue={searchValue}\n onSelect={handleSelectWithCapture}\n onSelectAll={handleSelectAllWithCapture}\n onSearchChange={handleSearchChange}\n onSearchClear={handleSearchClear}\n onBack={handleBack}\n onContinue={handleContinue}\n balances={hideBalances ? undefined : effectiveBalances}\n onBalanceChange={hideBalances ? undefined : handleBalanceChange}\n pagination={pagination}\n isFetching={isFetching}\n isPending={isSubmitPending}\n />\n )\n}\n"],"names":["PAID_TIME_OFF_NAME_BY_POLICY_TYPE","extractCarryOverBalance","employee","policyType","targetName","balance","pto","deriveCarryOverBalances","employees","map","SelectEmployeesTimeOff","props","jsx","SelectEmployeesTimeOffInner","StandaloneLoader","policyResponse","useTimeOffPoliciesGetSuspense","policy","isUnlimited","existingAssigneeUuids","useMemo","set","e","companyId","policyId","mode","hideBalances","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","filteredEmployees","eligibleEmployees","selectedUuids","searchValue","pagination","isFetching","handleSelect","handleSelectAll","handleSearchChange","handleSearchClear","useSelectEmployeesData","selectedEmployeesRef","useRef","handleSelectWithCapture","useCallback","item","checked","handleSelectAllWithCapture","scope","matchesEmployeeSearch","carryOverBalances","balances","setBalances","useState","effectiveBalances","addEmployees","isAddPending","useTimeOffPoliciesAddEmployeesMutation","updatePolicy","isUpdatePending","useTimeOffPoliciesUpdateMutation","isSubmitPending","handleBalanceChange","uuid","value","prev","buildAddPayload","uuids","userValue","carryOver","submitAdd","toAdd","policyResult","version","err","UnprocessableEntityError","apiMessage","SDKInternalError","API_QUERY_NAMESPACE","componentEvents","handleContinue","handleBack","SelectEmployeesPresentation"],"mappings":";;;;;;;;;;;;;;;AAwBA,MAAMA,KAAgF;AAAA,EACpF,UAAU;AAAA,EACV,MAAM;AACR;AAEA,SAASC,EACPC,GACAC,GACoB;AACpB,MAAI,CAACD,EAAU;AACf,QAAME,IAAaJ,GAAkCG,CAAU,GAEzDE,IADWH,EAAS,qBAAqB,KAAK,CAAAI,MAAOA,EAAI,SAASF,CAAU,GACxD;AAC1B,SAAOC,KAAWA,EAAQ,SAAS,IAAIA,IAAU;AACnD;AAEA,SAASE,GACPC,GACAL,GACwB;AACxB,QAAMM,IAA8B,CAAA;AACpC,aAAWP,KAAYM,GAAW;AAChC,UAAMH,IAAUJ,EAAwBC,GAAUC,CAAU;AAC5D,IAAIE,MACFI,EAAIP,EAAS,IAAI,IAAIG;AAAA,EAEzB;AACA,SAAOI;AACT;AAGO,SAASC,GAAuBC,GAAoC;AACzE,SAAIA,EAAM,SAAS,WACV,gBAAAC,EAACC,GAAA,EAA6B,GAAGF,GAAO,MAAK,UAAS,IAExD,gBAAAC,EAACE,IAAA,EAAkB,GAAGH,EAAA,CAAO;AACtC;AAEA,SAASG,GAAiBH,GAAoC;AAC5D,QAAM,EAAE,MAAMI,EAAA,IAAmBC,EAA8B;AAAA,IAC7D,mBAAmBL,EAAM;AAAA,EAAA,CAC1B,GACKM,IAASF,EAAe;AAC9B,MAAI,CAACE,EAAQ,OAAM,IAAI,MAAM,4CAA4C;AAEzE,QAAMC,IAAcD,EAAO,kBAAkB,aAEvCE,IAAwBC,EAAQ,MAAM;AAC1C,UAAMC,wBAAU,IAAA;AAChB,eAAWC,KAAKL,EAAO;AACrB,MAAIK,EAAE,QAAMD,EAAI,IAAIC,EAAE,IAAI;AAE5B,WAAOD;AAAA,EACT,GAAG,CAACJ,EAAO,SAAS,CAAC;AAErB,SACE,gBAAAL;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGF;AAAA,MACJ,MAAK;AAAA,MACL,uBAAAQ;AAAA,MACA,cAAcD;AAAA,IAAA;AAAA,EAAA;AAGpB;AAOA,SAASL,EAA4B;AAAA,EACnC,WAAAU;AAAA,EACA,UAAAC;AAAA,EACA,YAAArB;AAAA,EACA,MAAAsB,IAAO;AAAA,EACP,uBAAAN;AAAA,EACA,cAAAO,IAAe;AACjB,GAAe;AACb,EAAAC,GAAQ,iCAAiC;AACzC,QAAM,EAAE,GAAAC,EAAA,IAAMC,GAAe,iCAAiC,GACxD,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,GAAA,GACjCC,IAAcC,GAAA,GACd;AAAA,IACJ,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACEC,GAAuBtB,GAAWJ,CAAqB,GAOrD2B,IAAuBC,EAAO,oBAAI,KAA2B,GAE7DC,IAA0BC;AAAA,IAC9B,CAACC,GAAoBC,MAAqB;AACxC,MAAIA,IACFL,EAAqB,QAAQ,IAAII,EAAK,MAAMA,CAAI,IAEhDJ,EAAqB,QAAQ,OAAOI,EAAK,IAAI,GAE/CT,EAAaS,GAAMC,CAAO;AAAA,IAC5B;AAAA,IACA,CAACV,CAAY;AAAA,EAAA,GAGTW,IAA6BH;AAAA,IACjC,CAACE,MAAqB;AAIpB,YAAME,IAAQf,IACVF,EAAkB,OAAO,OAAYkB,GAAsBpD,GAAUoC,CAAW,CAAC,IACjFF;AACJ,iBAAWc,KAAQG;AACjB,QAAIF,IACFL,EAAqB,QAAQ,IAAII,EAAK,MAAMA,CAAI,IAEhDJ,EAAqB,QAAQ,OAAOI,EAAK,IAAI;AAGjD,MAAAR,EAAgBS,CAAO;AAAA,IACzB;AAAA,IACA,CAACf,GAAmBE,GAAaI,CAAe;AAAA,EAAA,GAG5Ca,IAAoBnC;AAAA,IACxB,MAAMb,GAAwB6B,GAAmBjC,CAAU;AAAA,IAC3D,CAACiC,GAAmBjC,CAAU;AAAA,EAAA,GAG1B,CAACqD,GAAUC,CAAW,IAAIC,EAAiC,CAAA,CAAE,GAE7DC,IAAoBvC;AAAA,IACxB,OAAO,EAAE,GAAGmC,GAAmB,GAAGC;IAClC,CAACD,GAAmBC,CAAQ;AAAA,EAAA,GAGxB,EAAE,aAAaI,GAAc,WAAWC,EAAA,IAC5CC,EAAA,GACI,EAAE,aAAaC,GAAc,WAAWC,EAAA,IAC5CC,EAAA,GACIC,IAAkBL,KAAgBG,GAElCG,IAAsBlB,EAAY,CAACmB,GAAcC,MAAkB;AACvE,IAAAZ,EAAY,CAAAa,OAAS,EAAE,GAAGA,GAAM,CAACF,CAAI,GAAGC,IAAQ;AAAA,EAClD,GAAG,CAAA,CAAE,GAECE,IAAkBtB;AAAA,IACtB,CAACuB,MACCA,EAAM,IAAI,CAAAJ,MAAQ;AAChB,UAAI1C,EAAc,QAAO,EAAE,MAAA0C,GAAM,SAAS,IAAA;AAC1C,YAAMK,IAAYjB,EAASY,CAAI,GACzBM,IAAYzE;AAAA,QAChB6C,EAAqB,QAAQ,IAAIsB,CAAI;AAAA,QACrCjE;AAAA,MAAA,GAEIE,IAAUoE,KAAaA,EAAU,SAAS,IAAIA,IAAaC,KAAa;AAC9E,aAAO,EAAE,MAAAN,GAAM,SAAA/D,EAAA;AAAA,IACjB,CAAC;AAAA,IACH,CAACqB,GAAc8B,GAAUrD,CAAU;AAAA,EAAA,GAG/BwE,IAAY1B;AAAA,IAChB,OAAO2B,MAAoB;AACzB,YAAM7C,EAAkB,CAAA,GAAI,YAAY;AACtC,YAAI8C;AAUJ,YATID,EAAM,SAAS,MAOjBC,KANiB,MAAMjB,EAAa;AAAA,UAClC,SAAS;AAAA,YACP,mBAAmBpC;AAAA,YACnB,aAAa,EAAE,WAAW+C,EAAgBK,CAAK,EAAA;AAAA,UAAE;AAAA,QACnD,CACD,GACuB,gBAEtBnD,MAAS,YAAYoD,GAAc;AACrC,gBAAMC,IACJ,OAAOD,KAAiB,YAAY,aAAaA,IAC7C,OAAQA,EAAsC,OAAO,IACrD;AACN,cAAI;AACF,kBAAMd,EAAa;AAAA,cACjB,SAAS;AAAA,gBACP,mBAAmBvC;AAAA,gBACnB,aAAa,EAAE,UAAU,IAAM,SAAAsD,EAAA;AAAA,cAAQ;AAAA,YACzC,CACD;AAAA,UACH,SAASC,GAAK;AACZ,gBAAIA,aAAeC,GAA0B;AAC3C,oBAAMC,IAAaF,EAAI,OAAO,CAAC,GAAG,WAAW;AAC7C,oBAAM,IAAIG;AAAA,gBACRtD,EAAE,+BAA+B,EAAE,SAASqD,GAAY;AAAA,gBACxD;AAAA,cAAA;AAAA,YAEJ;AACA,kBAAMF;AAAA,UACR;AAAA,QACF;AACA,QAAK9C,EAAY,kBAAkB;AAAA,UACjC,UAAU,CAACkD,IAAqB,mBAAmB,KAAK;AAAA,QAAA,CACzD,GACDrD,EAAQsD,EAAgB,6BAA6BP,CAAY;AAAA,MACnE,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACEpD;AAAA,MACAM;AAAA,MACA6B;AAAA,MACAW;AAAA,MACAR;AAAA,MACAvC;AAAA,MACAS;AAAA,MACAH;AAAA,MACAF;AAAA,IAAA;AAAA,EACF,GAGIyD,IAAiBpC,EAAY,YAAY;AAC7C,UAAM2B,IAAQ,CAAC,GAAGvC,CAAa;AAE/B,QAAIuC,EAAM,WAAW,KAAKnD,MAAS,cAAc;AAC/C,MAAAK,EAAQsD,EAAgB,2BAA2B;AACnD;AAAA,IACF;AAEA,UAAMT,EAAUC,CAAK;AAAA,EACvB,GAAG,CAACnD,GAAMY,GAAeP,GAAS6C,CAAS,CAAC,GAEtCW,IAAarC,EAAY,MAAM;AACnC,IAAAnB,EAAQsD,EAAgB,2BAA2B;AAAA,EACrD,GAAG,CAACtD,CAAO,CAAC;AAEZ,SACE,gBAAAlB;AAAA,IAAC2E;AAAA,IAAA;AAAA,MACC,WAAWpD;AAAA,MACX,eAAAE;AAAA,MACA,aAAAC;AAAA,MACA,UAAUU;AAAA,MACV,aAAaI;AAAA,MACb,gBAAgBT;AAAA,MAChB,eAAeC;AAAA,MACf,QAAQ0C;AAAA,MACR,YAAYD;AAAA,MACZ,UAAU3D,IAAe,SAAYiC;AAAA,MACrC,iBAAiBjC,IAAe,SAAYyC;AAAA,MAC5C,YAAA5B;AAAA,MACA,YAAAC;AAAA,MACA,WAAW0B;AAAA,IAAA;AAAA,EAAA;AAGjB;"}
|